Swarm 模式:检查工作节点在管理节点上的容器
Swarm mode: Inspect worker node's container on manager node
我想知道是否可以从管理器节点检查工作节点上的容器 运行?该容器是通过 docker service create 创建的。从管理器节点,我可以获得任务的服务 ID(通过 docker service ps 甚至容器 ID(通过 docker inspect )我的最终目标是能够找到容器的 ip地址。如有任何帮助,我们将不胜感激!
附加信息:
Docker 版本 1.12.1
OS: 分OS Linxus 7
目前还没有直接的方法来获得它。你应该忘记处理 ip 并依赖于使用 dns 名称(服务名称)进行解析。
如果您确实需要,您可以创建一个执行以下操作的脚本。
为您的服务获取任务 ID 及其节点名称。
docker service ps myservice
那将 return 类似于
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
31cb7clxw3lfi1y6ko12edjys foo.1 alpine:3.4 vmw-node03 Running Running 30 minutes ago
9gkzs118txbc8a8gvla3bildq foo.2 alpine:3.4 vmw-node01 Running Running 30 minutes ago
该服务在不同的节点上有两个任务 运行。
获取每个任务的容器 ID
我只是为了完成这里的一个任务
docker inspect --format "{{.Status.ContainerStatus.ContainerID}}" 31cb7clxw3lfi1y6ko12edjys
这将 return 任务的容器 ID
13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
获取容器IP
docker $(docker-machine config vmw-node03) inspect --format "{{.NetworkSettings.IPAddress}}" 13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
return是哪个
172.17.0.2
我想知道是否可以从管理器节点检查工作节点上的容器 运行?该容器是通过 docker service create 创建的。从管理器节点,我可以获得任务的服务 ID(通过 docker service ps 甚至容器 ID(通过 docker inspect )我的最终目标是能够找到容器的 ip地址。如有任何帮助,我们将不胜感激!
附加信息:
Docker 版本 1.12.1
OS: 分OS Linxus 7
目前还没有直接的方法来获得它。你应该忘记处理 ip 并依赖于使用 dns 名称(服务名称)进行解析。
如果您确实需要,您可以创建一个执行以下操作的脚本。
为您的服务获取任务 ID 及其节点名称。
docker service ps myservice
那将 return 类似于
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 31cb7clxw3lfi1y6ko12edjys foo.1 alpine:3.4 vmw-node03 Running Running 30 minutes ago 9gkzs118txbc8a8gvla3bildq foo.2 alpine:3.4 vmw-node01 Running Running 30 minutes ago
该服务在不同的节点上有两个任务 运行。
获取每个任务的容器 ID
我只是为了完成这里的一个任务
docker inspect --format "{{.Status.ContainerStatus.ContainerID}}" 31cb7clxw3lfi1y6ko12edjys
这将 return 任务的容器 ID
13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
获取容器IP
docker $(docker-machine config vmw-node03) inspect --format "{{.NetworkSettings.IPAddress}}" 13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
return是哪个
172.17.0.2