客户端访问docker群
我有一个由一个pipe理器和一个工作节点组成的docker群集群。 然后我configuration( tls
和DOCKER_HOST
)从我的笔记本电脑客户端访问此群集。
当我运行docker ps
我只看到工作节点(而不是工作节点(!)的所有容器)的容器。 例如,从我的客户:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a129d9402aeb progrium/consul "/bin/start -rejoi..." 2 weeks ago Up 22 hours IP:8300-8302->8300-8302/tcp, IP:8400->8400/tcp, IP:8301-8302->8301-8302/udp, 53/tcp, 53/udp, IP:8500->8500/tcp, IP:8600->8600/udp hadoop1103/consul-agt2-hadoop
以及我在工作节点上运行docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4fec7fbf0b00 swarm "/swarm join --advert" 16 hours ago Up 16 hours 2375/tcp join a129d9402aeb progrium/consul "/bin/start -rejoin -" 2 weeks ago Up 22 hours 0.0.0.0:8300-8302->8300-8302/tcp, 0.0.0.0:8400->8400/tcp, 0.0.0.0:8301-8302->8301-8302/udp, 53/tcp, 53/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp consul-agt2-hadoop
所以有两个问题:为什么docker ps
不显示来自pipe理器机器的容器,而不是来自工人节点的所有容器?
经典群集(作为容器运行)默认将docker ps
输出中的群集pipe理容器隐藏起来。 您可以使用docker ps -a
命令来显示这些容器。
这种行为可能在其他地方有logging,但我已经看到的行为logging在一个位置是在API差异文档 :
GET“/ containers / json”
从swarm官方映像启动的容器默认是隐藏的,使用all = 1来显示它们。
all=1
api语法相当于docker ps -a
cli。