所以我在VirtualBox上运行VM,试图让Docker在分布式模式下工作。根据本教程(https://docs.docker.com/get-started/part4/#configure-a-docker-machine-shell-to-the-swarm-manager),我将名为“myvm1”的VM设置为使用ssh myvm1 "docker swarm init --advertise-addr 10.0.2.15"
的群体管理器,但是,当我尝试将工作者添加到该群时,我收到错误:
Error response from daemon: rpc error: code = Unavailable desc =
all SubConns are in TransientFailure, latest connection error:
connection error: desc = "transport: Error while dialing dial tcp
10.0.2.15:2377: connect: connection refused"
exit status 1
其中10.0.2.15是我从运行VBoxManage guestproperty get myvm1 "/VirtualBox/GuestInfo/Net/0/V4/IP"
获得的经理VM的IP
任何人都知道原因可能是什么?我的IP错吗?我需要打开端口吗?
仅供参考:为了添加尝试添加工人,我累了:
docker-machine ssh myvm2 "docker swarm join --token [token returned by swarm init on myvm1] 10.0.2.15:2377"
不知道我还能做什么。
这可能是因为您正在运行Virtual Box。这意味着您的某些接口与其他VM和主机共享。
如果在VM和主机上运行ifconfig,请选择为每个计算机VM显示不同IP的接口。
我也有这个问题,并且发现每台机器上的eth0 IP都是相同的。当然,这不行。
eth1 for每个机器也有不同的IP。
希望这可以帮助。