我安装了新的Ubuntu 14.04,并希望使用Docker运行需要12.04的旧文件。Docker内部的DNS无法正常工作。
我的笔记本电脑的resolv.conf看起来像:
nameserver 127.0.0.1
显然,这不适用于Docker。因此,它将尝试将名称服务器设置为8.8.8.8和8.8.4.4。当我做
$ sudo docker run -i -t ubuntu /bin/bash
它说:
WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4]
可以肯定的是,在Docker实例中,resolv.conf看起来像:
nameserver 8.8.8.8
nameserver 8.8.4.4
我可以从Docker实例中成功ping通这两个。但是,没有DNS(例如,ping google.com
失败)。
Docker内部的ifconfig输出:
eth0 Link encap:Ethernet HWaddr aa:e9:9f:83:9d:92
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::a8e9:9fff:fe83:9d92/64 Scope:Link
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:648 (648.0 B) TX bytes:738 (738.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:1500 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)
怎么办?