【发布时间】:2016-04-29 09:26:42
【问题描述】:
从我的主机我可以 ping 谷歌
$ cat /etc/resolv.conf
nameserver 127.0.1.1
search my.company.server
$ ping google.com
PING google.com (172.217.16.174) 56(84) bytes of data.
64 bytes from fra15s11-in-f14.1e100.net (172.217.16.174): icmp_seq=1 ttl=54 time=11.0 ms
64 bytes from fra15s11-in-f14.1e100.net (172.217.16.174): icmp_seq=2 ttl=54 time=10.7 ms
从容器中我可以访问互联网:
$ docker run ubuntu:14.04 cat /etc/resolv.conf
search my.company.server
nameserver 8.8.8.8
nameserver 8.8.4.4
$ docker run ubuntu:14.04 ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=45 time=16.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=45 time=16.3 ms
但无法 ping 主机名:
$ docker run ubuntu:14.04 ping google.com
<no answer>
一些环境信息:
$ docker --version
Docker version 1.10.1, build 9e83765
$ cat /proc/version
Linux version 4.2.0-27-generic (buildd@lgw01-12) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016
$ cat /proc/sys/net/ipv4/ip_forward
1
$ ps -ef|grep [d]ocker
root ....... /usr/bin/docker daemon -H fd://
与此类似: Docker container can reach DNS but not resolve hosts
但重启没有帮助...
【问题讨论】:
-
如果你运行这个会发生什么?
docker run --dns=8.8.8.8 ubuntu:14.04 ping google.com -
那行不通... :(
-
我也有同样的问题
-
你的 docker 版本是多少?
-
我在 Docker 版本 17.12.1-ce 上得到这个,构建 7390fc6