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

相关推荐
BTU_YC1 分钟前
CentOS 7 虚拟IP配置指南:使用传统network-scripts实现高可用
linux·tcp/ip·centos
知白守黑2673 小时前
docker资源限制
运维·docker·容器
paishishaba5 小时前
无状态协议HTTP/HTTPS (笔记)
网络协议·http
无妄无望7 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
小楊不秃头9 小时前
网路原理:UDP协议
网络·网络协议·udp
爱宇阳9 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
xzl049 小时前
docker运行Ubuntu22.04
docker
EndingCoder10 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
vue学习11 小时前
docker 学习dockerfile 构建 Nginx 镜像-部署 nginx 静态网
java·学习·docker
热爱生活的五柒11 小时前
vscode如何链接远程服务器里面的docker里面的目录
服务器·vscode·docker