Docker:ping:未知的主机yahoo.com

这是我尝试的所有事情:

冉docker达蒙与-dns:

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 

欣赏任何build议。

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

  1. 确保你可以从主机ping(只是肯定!)
  2. 重新启动Docker守护进程并重试(这应该重置iptablesconfiguration)
  3. 检查iptables --list --table nat的输出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