Docker 1.12 Swarm 节点 IP

Docker 1.12 Swarm Nodes IP's

有没有办法获取加入集群的节点的 IP?

在 "old" swarm 中有一个命令,您可以在管理器机器上 运行。 docker exec -it <containerid> /swarm list consul://x.x.x.x:8500

要查看节点列表,请使用:

docker node ls

不幸的是,他们在此输出中不包括 IP 和端口。你可以 运行 一个 docker node inspect $hostname 在每一个上得到它的群 ip/port。然后,如果您需要向集群添加更多节点,则可以使用 docker swarm join-token worker,它在输出中包含所需的 IP/port。

docker node ls 提供的是 swarm 集群中每个节点的主机名。与独立群不同,您不会将 docker 客户端直接连接到群端口。您现在可以从其中一台管理器主机访问它,就像您在 init/join 集群之前连接到该主机一样。连接到其中一台管理器主机后,您可以使用 docker service 命令来控制您的 运行ning 服务。