Docker:ping:未知主机 yahoo.com

Posted

技术标签:

【中文标题】Docker:ping:未知主机 yahoo.com【英文标题】:Docker: ping: unknown host yahoo.com 【发布时间】:2013-12-10 10:32:15 【问题描述】:

这是我尝试过的所有事情:

使用 -dns 运行 docker 守护进程:

sudo docker -d -dns 8.8.8.8

确保启用了 IP 转发:

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

域名服务器已到位:

$ docker -dns '8.8.8.8' run centos:6.4 ping -c 3 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
--- 8.8.8.8 ping statistics --- 
3 packets transmitted, 0 received, 100% packet loss, time 12000ms

感谢任何建议。

【问题讨论】:

【参考方案1】:

听起来 Docker 的自动 iptables 配置不起作用。如果您在未重新启动 Docker 守护程序的情况下更改了主机 IP 地址,则通常会发生这种情况。我会尝试以下方法:

    确保您可以从主机 ping 通(只是为了确定!) 重启 Docker 守护进程并重试(这应该重置 iptables 配置) 检查来自iptables --list --table nat 的输出

我的看起来是这样的:

# iptables --list --table nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere            !127.0.0.0/8          ADDRTYPE match dst-type  LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  <redacted>/24 !<redacted>/24 
MASQUERADE  all  --  <redacted>/16 !<redacted>/16 

Chain DOCKER (2 references)
target     prot opt source               destination     

【讨论】:

以上是关于Docker:ping:未知主机 yahoo.com的主要内容,如果未能解决你的问题,请参考以下文章

从主机名中提取域名

windows宿主机访问docker容器ip无法ping通

69 docker 容器内部能够 ping 通宿主机, 但是访问不到宿主机的服务

69 docker 容器内部能够 ping 通宿主机, 但是访问不到宿主机的服务

虚拟机ping不通主机的另一种原因(docker网桥网段覆盖了本机网段)

我怎么能从我的主机 ping 我的 docker 容器