docker容器无法访问外网,但是宿主机却可以
我出现的问题
尝试使用宿主机ping百度220.181.38.148,发现可以ping通,容器却ping不通。
我的环境
- centos7
根源问题所在
net.ipv4.ip_forward = 0
我为什么出现这种情况
我改了自己宿主机的ip,将它改为静态
问题解决步骤
1.使用以下命令看看是否是这个问题,如果不是,你可以直接离开我这篇博客了
sysctl net.ipv4.ip_forward
结果:
2.编辑 宿主机中的/etc/sysctl.conf
文件,并将 net.ipv4.ip_forward
设置为 1
3.执行 sysctl -p
命令使其生效
4.你现在可以进入容器命令行去检查一下是否可以ping通外网了
docker exec -it <容器名称或id> bash ping 220.181.38.148
总结
问题到此解决
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。