客户端访问docker群

我有一个由一个pipe理器和一个工作节点组成的docker群集群。 然后我configuration( tlsDOCKER_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。