使用DC / OS文档中的示例,如果我使用以下定义启动pod,我可以看到pod已成功部署。
{
"id":"/pod-with-endpoint",
"containers":[
{
"name":"simple-docker",
"resources":{
"cpus":1,
"mem":128,
"disk":0,
"gpus":0
},
"image":{
"kind":"DOCKER",
"id":"nginx"
},
"endpoints":[
{
"name":"web",
"containerPort":80,
"protocol":[
"http"
]
}
]
}
],
"networks":[
{
"mode":"container"
}
]
}
运行 dcos marathon pod list 会显示以下内容:
ID+TASKS INSTANCES VERSION STATUS STATUS SINCE WAITING
/pod-with-endpoint 1 2018-02-17T11:10:50.047Z STABLE 2018-02-17T11:10:51.43Z False
|-simple-docker
如何访问nginx容器?
例如,如果我正在运行一个马拉松应用程序,我可以ssh进入运行任务的代理节点,然后通过运行 docker exec -it container_id bash 来访问容器。
运行 docker ps 时,我无法在代理节点上看到任何容器,大概是因为pod使用Universal Container Runtime(UCR),所以我无法看到可以连接到pod中启动的容器。
答案 0 :(得分:0)
您可以使用dcos task cli来实现此目的:
# Get the dcos task ID
dcos task [task_name]
# Run task exec with task id and command to run
dcos task exec [--interactive --tty] <task_id> <cmd> [<args>...]
# Example
dcos task exec --interactive --tty hello-world.df11367a-664354-11e8-8e5a-d6f1851c7c1c bash