①:重建网络docker
- 停止Docker服务。
- 清除iptables规则。
- 禁用并删除docker0网桥。
- 重启Docker服务。
②:开启宿主机的IPv4转发功能
- 修改配置文件
/etc/sysctl.conf
,启用IPv4转发。 - 重启网络服务。
- 检查IPv4转发状态。
- 重启Docker服务。
③:使用–net=host宿主机网络方式启动容器
- 使用
--net=host
选项启动容器,共享宿主机网络。
④:关闭SELinux
- 检查SELinux状态。
- 临时或永久关闭SELinux。
- 重启Linux系统。
⑤:修改配置
- 启用桥接模式下的iptables调用。
- 重启Docker服务。
⑥:清理Docker网络文件
- 删除Docker网络配置文件,然后重启Docker服务。
⑦:修改DNS客户端解析文件resolv.conf
- 更改
/etc/resolv.conf
文件以使用指定DNS服务器。 - 测试DNS解析。
修改容器内部的DNS解析配置
- 进入容器。
- 查看并修改容器内的
/etc/resolv.conf
文件。 - 测试修改后的DNS配置。
⑧:和网络工程师沟通
- 运行访问外网的程序。
- 使用tcpdump进行网络抓包分析。
⑨:宿主机防火墙设置
- 检查并配置防火墙规则。
- 开启IP地址转发。
- 更新防火墙规则。
⑩:重装Docker
- 作为最后手段,考虑重装Docker。
临时测试容器内能够ping
- 使用
docker run --rm alpine ping -c 5 baidu.com
测试容器内网络。
注意事项
- 解决方案可能需要根据具体环境进行调整。
- 某些方法可能需要管理员权限或重启系统。
- 部分方法可能涉及到系统安全设置,如SELinux的关闭,需谨慎操作。
本文转载自: https://blog.csdn.net/modelsetget/article/details/141056890
版权归原作者 modelsetget 所有, 如有侵权,请联系我们删除。
版权归原作者 modelsetget 所有, 如有侵权,请联系我们删除。