Docker Swarm模式:检查工作节点';管理器节点上的容器
我想知道是否可以从manager节点检查工作节点上运行的容器?容器是通过docker服务创建的。从manager节点,我可以获得任务的服务id(通过docker service ps,甚至容器id(通过docker inspect),我的最终目标是能够找到容器的ip地址。任何帮助都将不胜感激 其他信息: Docker版本1.12.1Docker Swarm模式:检查工作节点';管理器节点上的容器,docker,docker-swarm,Docker,Docker Swarm,我想知道是否可以从manager节点检查工作节点上运行的容器?容器是通过docker服务创建的。从manager节点,我可以获得任务的服务id(通过docker service ps,甚至容器id(通过docker inspect),我的最终目标是能够找到容器的ip地址。任何帮助都将不胜感激 其他信息: Docker版本1.12.1 操作系统:CentOS Linxus 7目前还没有直接的方法。你应该忘记处理ip,而依赖于使用dns名称(服务名称)进行解析 但是,如果您真的需要,您可以创建一个执
操作系统:CentOS Linxus 7目前还没有直接的方法。你应该忘记处理ip,而依赖于使用dns名称(服务名称)进行解析 但是,如果您真的需要,您可以创建一个执行以下操作的脚本
docker service ps myservice
这将返回类似的结果
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
该服务在不同的节点上运行两个任务docker inspect --format "{{.Status.ContainerStatus.ContainerID}}" 31cb7clxw3lfi1y6ko12edjys
它将返回任务的容器id
13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
docker $(docker-machine config vmw-node03) inspect --format "{{.NetworkSettings.IPAddress}}" 13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
哪一个还它
172.17.0.2
docker inspect
声称支持图像和容器之外的任务。感谢您的回复!没有docker机器我有什么办法可以做到这一点吗?我已经创建了没有docker机器的单独实例docker机器配置节点
部分只是告诉您的docker客户端哪个docker守护程序(节点)连接到。您可以通过ssh连接到正确的节点并运行docker inspect…
,也可以使用正确的docker变量设置本地环境并运行docker客户端。运行docker machine config somenode
了解需要设置的环境变量。