Swarm join mangerIP 失败(Error response from daemon: Timeout)解决方案


理论是灰色的,实践之树长青🌲 ——恩格斯


最近做Docker swarm相关的毕设项目,在worker节点机器上通过docker swarm join,打算将该节点加入Swarm集群时,报Timeout错误,错误如下:

Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node.

Google了几乎所有的解决方案,都是失败的!

失败方案一:关闭防火墙

关闭manger节点和work节点的防火墙都未有效!!

失败方案二:端口未开放

docker swarm join命令如下:

docker swarm join --token SWMTKN-1-419ico69g3t8zlsi2j1w44zo4ecavteo2vyyia13hsscmzd9ct-6rscpxcl7h46cesitk1jlosnl managerIP:2377

查看2377端口是否开放:

root@hecs-x-medium-2-linux-20210315093138:~# netstat -tulp | grep docker
tcp6       0      0 [::]:2377               [::]:*                  LISTEN      11374/dockerd
tcp6       0      0 [::]:7946               [::]:*                  LISTEN      11374/dockerd
udp6       0      0 [::]:7946               [::]:*                              11374/dockerd

可以看到端口是开放的,这时候去work节点查看telnet命令是否能够连接manger节点成功:

root@host2:~# telnet managerIP 2377
Trying managerIP...
telnet: Unable to connect to remote host: Connection timed out

这时候考虑到telnet命令不能连接成功,那就试一试ping是否通呢?接下来我在两个work节点去ping了一下manger节点:发现都ping不通IP!!!!
既然节点之间都不能ping通,那swarm命令执行失败就能够理解了。

成功方案

在使用ping之后就能想到是不是服务器的安全组设置的是否有问题了??
manager的入规则是不是没有添加ping和telent协议,相关端口是否没有准入??
带着疑惑去查看服务器的安全组规则。

在这里插入图片描述
看到以上的入方向规则,发现ping命令使用的ICMP协议根本没有打开,所以没有ping通也就说的通了!!
添加ICMP协议之后的安全组规则如下:
在这里插入图片描述

在添加完ICMP协议之后,ping命令就通了!!
那现在我们可以去添加telnet的准入规则,这样的话是不是就意味着我们的swarm join命令也就能通呢?
添加telent协议如下,考虑到之后使用其他协议也会出现这样的问题,所以我在这里添加了所有协议的准入规则:

在这里插入图片描述

在添加完安全组规则之后去尝试使用telnet命令连接manager节点服务器:

root@host2:~# telnet managerIP 2377
Trying managerIP...
Connected to managerIP.
Escape character is '^]'.

连接成功!!!
那我们就期待一下swarm join是否成功呢??
重新执行swarm join命令:

root@host1:~# docker swarm join --token SWMTKN-1-419ico69g3t8zlsi2j1w44zo4ecavteo2vyyia13hsscmzd9ct-6rscpxcl7h46cesitk1jlosnl managerIP:2377
This node joined a swarm as a worker.

加入manager节点成功,当前节点作为worker节点使用!!!

总结

在使用服务器的过程中,一定要时刻注意服务器的相关配置,避免踩没必要的坑!!!

欢迎大家一起关注交流学习哈!
个人GitHub:https://github.com/SpecialAll

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值