在启动一个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