Docker笔记 -- 问题汇总

容器之间不可以PING通

允许地址伪装

[root@simwor ~]# firewall-cmd --zone=public --permanent --add-masquerade
[root@simwor ~]# firewall-cmd --reload
容器可以PING通IP但不能解析域名
  1. 现象描述
[root@docker ~]# docker container run -it centos
[root@2ba6112544b0 /]# ping 114.114.114.114
64 bytes from 114.114.114.114: icmp_seq=1 ttl=127 time=31.5 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=127 time=32.2 ms
[root@2ba6112544b0 /]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@2ba6112544b0 /]# dnf install openssh-server
[Could not resolve host: mirrorlist.centos.org]
[root@sshd /]# 
  1. 解决办法
[root@docker ~]# tail /var/log/firewalld
2020-10-06 17:30:14 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
[root@docker ~]# 
[root@docker ~]# firewall-cmd --permanent --zone=trusted --add-interface=docker0
success
[root@docker ~]# firewall-cmd --reload
success
[root@docker ~]# 
  1. 问题的原因
默认的 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 等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值