docker启动容器时,突然启动失败,提示无法连接数据库(容器外),并在启动时提示:
IPv4 forwarding is disabled. Networking will not work.
百度后,发现是 linux 配置 net.ipv4.ip_forward 参数被禁用了,导致ip无法进行转发
解决方案
vi /etc/sysctl.config
# 增加如下配置 如果该文件已有该配置,从0改为1即可 0为禁用ip转发 1为允许
net.ipv4.ip_forward=1
# 重启network
systemctl restart network
扩展
net.ipv4.ip_forward是什么?
出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。
要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开
转载至 https://blog.csdn.net/whatday/article/details/106003836/