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

相关推荐
唯情于酒8 小时前
Docker学习
学习·docker·容器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
汤愈韬10 小时前
NAT策略
网络协议·网络安全·security·huawei
汤愈韬10 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
德育处主任11 小时前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
汤愈韬12 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记13 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
Hellc00714 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe15 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes