net.ipv4.ip_forward=0导致docker容器无法与外部通信

在启动一个docker容器时报错:

WARNING: IPv4 forwarding is disabled. Networking will not work.

并且,此时本机上的其他容器的网络服务,只能在本机上访问,其他机器上访问不到。

原因:

复制代码
sysctl net.ipv4.ip_forward
# net.ipv4.ip_forward = 0

在Docker网络配置中,有一项重要的参数是net.ipv4.ip_forward,它的作用是开启Linux内核的IP转发功能。通过开启该功能,Docker容器可以实现对外部网络的访问,使得容器可以与其他计算机进行通信。

解决方法:

复制代码
sysctl -w net.ipv4.ip_forward=1

临时生效的配置方式,在系统重启,或对系统的网络服务进行重启后都会失效。

永久配置参考:linux net.ipv4.ip_forward 数据包转发

参考文章:
linux net.ipv4.ip_forward 数据包转发
docker 为什么开启net.ipv4.ip_forward=1

相关推荐
小夏子_riotous2 分钟前
Docker学习路径——2、安装
linux·运维·分布式·学习·docker·容器·云计算
河阿里1 小时前
JWT 与 Cookie/Session 的对比分析
网络协议
路由侠内网穿透.2 小时前
本地部署开源客服系统 FreeScout 并实现外部访问( Windows 版本)
运维·服务器·网络·windows·网络协议
gwjcloud3 小时前
Docker详解
java·docker·容器
你觉得脆皮鸡好吃吗3 小时前
Check Anti-CSRF Token (AI)
前端·网络·网络协议·安全·csrf·网络安全学习
wuyoula3 小时前
AI导航智能决策系统源码 附教程
c++·tcp/ip·源码
白毛大侠4 小时前
Docker vs 虚拟机 vs Go 用户态/内核态:这三组概念
运维·docker·golang·kvm
不会写DN4 小时前
处理 TCP 流中的消息分片
服务器·网络·tcp/ip
Warren986 小时前
Windows本地部署n8n完整教程(基于Docker,新手友好)
运维·windows·python·测试工具·docker·容器·可用性测试
小红的布丁8 小时前
IP、子网、私有地址、ARP 与 Ping 通信全过程
网络·网络协议·tcp/ip