我有两个 virtualbox ubuntu16 客户机,它们可以通过仅主机网络进行通信:172.28.128.0/16
我使用以下步骤创建了一个docker swarmdocker 文档。以下是我的集群状态:
vagrant@master:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
127fuzxjq2j3ashcteu8fo248 worker1 Ready Active
43l953k75lv14uw7ni2hbib5j * master Ready Active Leader
我可以使用此 Swarm 成功运行服务。但是是否可以通过 Docker 获取基于 172.28.128.0/16 的节点 IP 地址?我尝试查看docker 命令行参考也docker 远程api 。我的目标是通过远程 API 联系任何 Swarm 节点,但为此我需要其底层 API,远程 docker 守护进程可以在其上启用监听。
答案1
ubuntu@ubuntu-xenial:~$ docker node inspect -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker node inspect [OPTIONS] self|NODE [NODE...]
Display detailed information on one or more nodes
Options:
-f, --format string Format the output using the given Go template
--help Print usage
--pretty Print the information in a human friendly format
和
ubuntu@ubuntu-xenial:~$ docker node inspect self --format '{{ .Status.Addr }}'
返回 IP 地址。