如何解决swarm docker 端口不通问题
时间:2022-01-20 14:29
swarm docker端口不通的解决办法:1、编辑配置文件,添加配置“net.ipv4.ip_forward=1”;2、通过“systemctl restart network”重启网络。 本文操作环境:centOS6.8系统、Docker 18.09.x版、Dell G3电脑。 如何解决swarm docker 端口不通问题?docker swarm网络问题 docker主机内部网络正常,与其它主机的连接失效,其它主机不能连接docker主机上映射的端口,docker内部也无法连接外部主机。 编辑配置文件 添加配置 执行 重启网络 再次查看docker info,警告消失,主机上的docker网络恢复正常。 我所使用的服务器是阿里云服务器 阿里云的帮助文档中有这样一句话: 在添加UDP监听前,注意如下限制: 在19.03及之后的版本,docker在swarm init之上增加了–data-path-port uint32 的配置项用于更改docker swarm的VXLAN端口。 查看docker日志(journalctl -u docker -n 20 -f )发现 : 出现这个原因是因为宿主机没有加载ip_vs模块。在各个节点加载ip_vs模块后重启docker即可。【推荐学习:《docker视频教程》】 以上就是如何解决swarm docker 端口不通问题的详细内容,更多请关注gxlcms其它相关文章!问题:
服务器环境如下:
WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
解决方法
vim /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-arptables=1
net.ipv4.ip_forward=1
sysctl -p
生效systemctl restart network
重点,针对云服务器
如果你的集群使用的默认端口4789,那么你可能遇到跟我一样的问题。
UDP监听的250、4789和4790三个端口为系统保留端口,暂时不对外开放。
详情
修改端口之后成功解决问题sudo docker swarm init --data-path-port 5789
其他问题
level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn"
error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"
modprobe ip_vs
service docker restart