Mam nową instalację Ubuntu 14.04 i chcę używać Dockera do uruchamiania starych rzeczy, które wymagają wersji 12.04. DNS wewnątrz Dockera nie działa.
Plik resolv.conf mojego laptopa wygląda następująco:
nameserver 127.0.0.1
Co najwyraźniej nie działa z Dockerem. Dlatego próbuje ustawić serwery nazw na 8.8.8.8 i 8.8.4.4; kiedy robię
$ sudo docker run -i -t ubuntu /bin/bash
To mówi:
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]
I rzeczywiście, w instancji Docker resolv.conf wygląda następująco:
nameserver 8.8.8.8
nameserver 8.8.4.4
Mogę pingować oba z powodzeniem z poziomu instancji Docker. Jednak nie ma DNS (np. ping google.com
Kończy się niepowodzeniem).
Dane wyjściowe ifconfig wewnątrz Dockera:
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)
Co teraz?