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)
それで?