目标:创建 Docker Swarm
条件:
操作:
docker swarm init
docker swarm join --token SWMTKN-1-3o2m78qf57hy2zikfx8p2yc7hrn63edlmlixwrq7bh28xws7zx-9oirn0wh3mbrdui3kcwytl560 192.168.65.9:2377
错误:
Error response from daemon: rpc error: code = Unavailable desc = connection error:
desc = "transport: Error while dialing dial tcp 192.168.65.9:2377: connect: no route to host"
到目前为止我所做的:
寻求帮助:我看到其他人可以轻松地运行教程中的“docker swarm join”命令。为什么我遇到这个问题?任何人都可以帮助我吗?非常感谢您的帮助。
您需要打开多个端口进行通信(在
A
以及 B
主机上):
正如 Docker 文档所说:
此外:
设置 UFW 配置(或按照您在问题中提到的方式禁用 UFW):
ufw allow 22/tcp
ufw allow 2376/tcp
ufw allow 2377/tcp
ufw allow 7946/tcp
ufw allow 7946/udp
ufw allow 4789/udp
ufw reload
ufw enable
systemctl restart docker
您也可以根据此文档检查 IpTables 配置:https://www.digitalocean.com/community/tutorials/how-to-configure-the-linux-firewall-for-docker-swarm-on-ubuntu -16-04
但是,“Docker for Mac”使用与基于 Linux 不同的网络,这可能会导致 Docker Swarm 出现混乱。这是它的门票:https://github.com/moby/swarmkit/issues/1146#issuecomment-231412874
根据上述问题,Mac 目前只能运行单节点 Swarm。 (我没有找到解决办法)