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

swarm docker端口不通的解决办法:1、编辑配置文件,添加配置“net.ipv4.ip_forward=1”;2、通过“systemctl restart network”…

swarm docker端口不通的解决办法:1、编辑配置文件,添加配置“net.ipv4.ip_forward=1”;2、通过“systemctl restart network”重启网络。

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

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

问题:

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

服务器环境如下:

所在系统centos

docker info

WARNING:IPv4forwardingisdisabledWARNING:bridge-nf-call-iptablesisdisabledWARNING:bridge-nf-call-ip6tablesisdisabled

解决方法

编辑配置文件

vim/etc/sysctl.conf

添加配置

net.bridge.bridge-nf-call-ip6tables=1net.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-arptables=1net.ipv4.ip_forward=1

执行sysctl -p生效

重启网络

systemctlrestartnetwork

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

重点,针对云服务器

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

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

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

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

修改端口之后成功解决问题

sudodockerswarminit–data-path-port5789

其他问题

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

level=errormsg="errorreadingthekernelparameternet.ipv4.vs.expire_nodest_conn"error="open/proc/sys/net/ipv4/vs/expire_nodest_conn:nosuchfileordirectory"

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

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/36852.html;
(0)
上一篇 2023年2月17日 下午4:18
下一篇 2023年2月17日 下午4:18

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部