欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

如何解决swarm docker 端口不通问题

时间:2026-01-07 14:45:10|栏目:其它服务器|点击:

如何解决swArm docker 端口不通问题?docker swarm网络问题

问题:

docker主机内部网络正常,与其它主机的连接失效,其它主机不能连接docker主机上映射的端口,docker内部也无法连接外部主机。

服务器环境如下:

  • 所在系统centos
  • docker info
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

再次查看docker info,警告消失,主机上的docker网络恢复正常。


重点,针对云服务器

我所使用的服务器是阿里云服务器
如果你的集群使用的默认端口4789,那么你可能遇到跟我一样的问题。

阿里云的帮助文档中有这样一句话:

在添加UDP监听前,注意如下限制:
UDP监听的250、4789和4790三个端口为系统保留端口,暂时不对外开放。
详情

在19.03及之后的版本,docker在swarm init之上增加了–data-path-port uint32 的配置项用于更改docker swarm的VXLAN端口。
修改端口之后成功解决问题

sudo docker swarm init --data-path-port 5789

其他问题

查看docker日志(journalctl -u docker -n 20 -f )发现 :

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"

出现这个原因是因为宿主机没有加载ip_vs模块。在各个节点加载ip_vs模块后重启docker即可。

modprobe ip_vs
service docker restart

上一篇:如何解决docker http 500错误问题

栏    目:其它服务器

下一篇:详解nginx location指令

本文标题:如何解决swarm docker 端口不通问题

本文地址:https://zz.feitang.co/server/35130.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号