Firewalld 阻止了 Docker 默认网络接口的 DNS 请求,导致容器运行时无法解析域名

主机环境:

[root@appsrv ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
[root@appsrv ~]# docker --version
Docker version 19.03.8, build afacb8b
[root@appsrv ~]# firewall-cmd --version
0.7.0

[root@appsrv ~]# yum info docker-ce
上次元数据过期检查:0:00:36 前,执行于 2020年04月28日 星期二 17时06分01秒。
已安装的软件包
名称         : docker-ce
时期         : 3
版本         : 19.03.8
发布         : 3.el7
架构         : x86_64
大小         : 104 M
源           : docker-ce-19.03.8-3.el7.src.rpm
仓库         : @System
来自仓库     : docker-ce-stable

[root@appsrv ~]# yum info firewalld
CentOS-8 - AppStream                                                                                                  1.4 kB/s | 4.3 kB     00:03
CentOS-8 - Base                                                                                                       7.1 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                                                                                                     2.8 kB/s | 1.5 kB     00:00
Docker CE Stable - x86_64                                                                                             557  B/s | 3.5 kB     00:06
已安装的软件包
名称         : firewalld
版本         : 0.7.0
发布         : 5.el8_1.1
架构         : noarch
大小         : 1.9 M
源           : firewalld-0.7.0-5.el8_1.1.src.rpm
仓库         : @System
来自仓库     : BaseOS

默认的 container 使用 --net=bridge 模式,挂到虚拟的网段中,可以从主机的虚拟网络接口 docker0 (默认 IP:172.17.0.1)访问外网。

结果在 container 中,/etc/resolv.conf 配置的 DNS 没问题,也能 ping 通 DNS 的 IP 地址,却无法 ping 通任意的域名,

提示错误:Name or service not known。

其它网络应用也可能会提示:
No route to host
bad address
Could not resolve host 等。

将网络接口 docker0 加入 trusted zone,解决 DNS 问题
 

[root@appsrv ~]# firewall-cmd --permanent --zone=trusted --add-interface=docker0
success
[root@appsrv ~]# firewall-cmd --reload
success

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值