У меня установлена новая версия Ubuntu 14.04, и я хочу использовать Docker для запуска моих старых приложений, для которых требуется 12.04. DNS внутри Docker не работает.
Resolv.conf моего ноутбука выглядит так:
nameserver 127.0.0.1
Который не работает с Докером, по-видимому. Поэтому он пытается установить серверы имен на 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. Тем не менее, нет DNS (например, ping google.com
сбои).
Вывод ifconfig внутри Docker:
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)
Что теперь?