我正在尝试创建一个在 Vagrant 中运行的不同 ubuntu 虚拟机的集群。这些通过引导它们的 vagrant 文件启用了 docker。在三个虚拟机中,我通过以下方式在一台机器上启动了 swarm 集群
docker pull swarm
docker run --rm swarm create
这返回了一个唯一的 cluster_id。在另一个启用 docker 的 vm 上,我执行了以下步骤
停止 docker 守护进程
sudo service docker stop
使用 -H 标志启动守护进程
sudo docker -H tcp://0.0.0.0:2375 -d
这给出了以下
INFO[0000] +job init_networkdriver()
INFO[0000] +job serveapi(tcp://0.0.0.0:2375)
INFO[0000] Listening for HTTP on tcp (0.0.0.0:2375)
INFO[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\
INFO[0000] -job init_networkdriver() = OK (0)
INFO[0000] Loading containers: start.
INFO[0000] Loading containers: done.
INFO[0000] docker daemon: 1.6.2 7c8fca2; execdriver: native-graphdriver:aufs
INFO[0000] +job acceptconnections()
INFO[0000] -job acceptconnections() = OK (0)
INFO[0000] Daemon has completed initialization
在此之后,我开始与该节点的另一个会话并希望运行以下命令:
sudo docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id>
在这种情况下,节点 ip 是多少?在这个虚拟机上使用 arp -an 给了我三个 IP,其中一个是可以访问的