客户端访问docker swarm

时间:2017-02-22 11:35:58

标签: docker docker-swarm docker-swarm-mode

我有一个由一个管理器和一个工作节点组成的docker swarm集群。然后,我从笔记本电脑配置了(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不显示来自经理机器的容器而不显示来自工作节点的所有容器?

1 个答案:

答案 0 :(得分:1)

默认情况下,经典swarm(作为容器运行)会隐藏来自docker ps输出的swarm管理容器。您可以使用docker ps -a命令显示这些容器。

此行为可能会在其他地方记录,但我看到记录的行为位于api differences docs

  

获取“/ containers / json”

     

默认情况下隐藏从群体官方图像启动的容器,使用all = 1显示它们。

all=1 api语法相当于docker ps -a cli。