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

发布时间 - 2022-01-20 00:00:00    点击率:
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内部也无法连接外部主机。

服务器环境如下:

  • 所在系统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即可。【推荐学习:《docker视频教程》】

modprobe ip_vs
service docker restart


# docker  # 重启  # 配置文件  # 加载  # 是因为  # 中有  # 跟我  # 我所  # 解决问题  # 句话  # 对外开放 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Fortify是什么,和Jetstream有什么关系  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何破解联通资金短缺导致的基站建设难题?  如何在橙子建站上传落地页?操作指南详解  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel怎么在Blade中安全地输出原始HTML内容  Python文件流缓冲机制_IO性能解析【教程】  node.js报错:Cannot find module 'ejs'的解决办法  如何在建站之星绑定自定义域名?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何实现本地化和多语言支持?(i18n教程)  Laravel如何使用.env文件管理环境变量?(最佳实践)  Mybatis 中的insertOrUpdate操作  EditPlus中的正则表达式 实战(1)  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Windows Hello人脸识别突然无法使用  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何基于云服务器快速搭建网站及云盘系统?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel如何配置Horizon来管理队列?(安装和使用)  高防服务器如何保障网站安全无虞?  如何用景安虚拟主机手机版绑定域名建站?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何在橙子建站中快速调整背景颜色?  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  JavaScript如何实现错误处理_try...catch如何捕获异常?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  制作企业网站建设方案,怎样建设一个公司网站?  Laravel如何实现事件和监听器?(Event & Listener实战)  iOS发送验证码倒计时应用  敲碗10年!Mac系列传将迎来「触控与联网」双革新  bootstrap日历插件datetimepicker使用方法  Laravel如何为API编写文档_Laravel API文档生成与维护方法  中山网站制作网页,中山新生登记系统登记流程?  香港网站服务器数量如何影响SEO优化效果?  Android okhttputils现在进度显示实例代码  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel如何配置任务调度?(Cron Job示例)  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何快速搭建高效香港服务器网站?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何快速查询网站的真实建站时间?