【发布时间】:2015-04-09 08:42:37
【问题描述】:
这是一个 DNS 服务器问题——默认服务器 8.8.8.8(在 Ubuntu 中的 Docker 中预先配置)可以通过
nslookup被 ping,但无法访问。
我无法从本地安装的容器连接到互联网。
我的系统
ifconfig 看起来不错
$ docker run -ti twelly/ifconfigme ifconfig
eth0 Link encap:Ethernet HWaddr f2:bd:a6:53:6f:5f
inet addr:172.17.0.35 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::f0bd:a6ff:fe53:6f5f/64 Scope:Link
UP BROADCAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:2 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:90 (90.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
我可以ping 8.8.8.8
$ docker run -ti twelly/ifconfigme ping -c 3 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=56 time=33.6 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=33.6 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=56 time=33.5 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 33.525/33.597/33.650/0.218 ms
ping 在超时后退出并失败
$ time docker run -ti twelly/ifconfigme ping -c 3 google.com
ping: unknown host google.com
real 0m40.267s
user 0m0.014s
sys 0m0.012s
我与debian:latest 有相同的结果,但我无法测试ifconfig,因为它没有安装在那里。
新虚拟机
相同的设置适用于新的 Ubuntu Utopic 14.10 虚拟机。
Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.box = "https://cloud-images.ubuntu.com/vagrant/utopic/current/utopic-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.provision "shell", inline: "apt-get update && apt-get upgrade -y"
config.vm.provision "shell", inline: "apt-get install -y docker.io && adduser vagrant docker"
end
命令
$ vagrant up && vagrant ssh -c "docker run -ti twelly/ifconfigme ping -c 3 google.com"
问题
我可能做错了什么?如何解决这个问题?
【问题讨论】:
-
您能否发布一份用于创建 ifconfigme 映像的
Dockerfile的副本?当您尝试 ping google 的 dns ip 地址 8.8.8.8 时会发生什么? -
@booyaa:它并不特定于这个特定的图像,同样的失败
debian:latest有一个 publicDockerfile(虽然不是很有帮助)。我在示例中使用了这个特定的图像,因为它默认有ifconfig。 -
可能是一般网络故障,也可能只是 DNS 故障。那么你可以从容器 ping 8.8.8.8 吗?
-
@VitalyIsaev:宾果游戏,那个有效。
-
@VitalyIsaev:但
docker run --dns=8.8.8.8也无济于事。如何解决?
标签: ubuntu networking docker