免费资源网 – https://freexyz.cn/
CentOS 8已经发行好长一段时间,为了尝鲜在Online独服上安装了CentOS 8系统,随之问题来了,发现Docker容器无法访问外网,而CentOS 7上则不存在这个问题。
排错分析
一开始怀疑是Docker DNS设置问题,导致Docker容器无法解析。遂修改配置文件/etc/docker/daemon.json设置DNS:
{ “dns”: [“8.8.8.8”, “1.1.1.1” ] }修改后重启Docker服务,发现Docker容器还是无法联网。
解决办法
通过搜索了解到CentOS 8上防火墙发生了一些变化,防火墙原来使用iptables,现在使用nftables,猜测可能是转发引起的问题。通过搜索终于在Github上找到类似的情况:DNS Not Resolving under Network [CentOS8],解决办法为:
编辑firewalld配置文件/etc/firewalld/firewalld.conf,将:
FirewallBackend=nftables修改为:
FirewallBackend=iptables并重启Firewalld:systemctl restart firewalld.service
最后再重启下Docker:systemctl restart docker,验证问题解决。
总结
可通过修改/etc/docker/daemon.json设置Docker DNS CentOS 8防火墙由iptables变更为了nftables 可通过修改Firewalld配置文件/etc/firewalld/firewalld.conf将nftables换回iptables
免费资源网 – https://freexyz.cn/
© 版权声明
THE END
暂无评论内容