2014-06-30 10 views
5

Używam boot2docker na moim Macu. OSX wersja 10.9.3 wersja boot2docker wersja 4.3.12 Docker 0.12.0Kontenery Docker nie używające DNS hosta w boot2docker

boot2docker obraz jest włóczęga okno, używając VirtualBox. Próbowałem wielu pudełek typu "włóczęga" (na przykład stigkj/boot2docker). Wszyscy wystawiają problem.

Jeśli przejdę do pliku boot2docker i obejrzę plik /etc/resolv.conf, użyję serwera nazw 10.0.2.3.

ja uruchomić prosty Döcker obrazu za pomocą polecenia:

docker run -i -t ubuntu /bin/sh 

Patrząc na /etc/resolv.conf w tym pojemniku, używa 8.8.8.8 i 8.8.4.4 jako serwery nazw.

W pliku docker.log na VM boot2docker, jest to linia:

2014/06/30 15:25:01 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] 

Z tego co rozumiem, doker ma korzystać z serwera nazw hosta. Tylko jeśli host używa 127.0.0.1, ponieważ jego serwer nazw powinien domyślnie korzystać z serwerów nazw Google jako kopii zapasowej.

Host nie używa adresu 127.0.0.1 jako serwera nazw, ale wygląda na to, że dokowanie go uważa. Wszelkie sugestie, w jaki sposób mogę uzyskać to, aby poprawnie wykryć serwer nazw?

+0

NB: FWIW dla mnie to było naprawione przez ponowne uruchomienie komputera Mac po zainstalowaniu Döcker. –

Odpowiedz

8

Znalazłem poprawkę. Wygląda na to, że obraz boot2docker uruchamia demona docker zanim wyciągnie DNS z hosta. Tak więc boot2docker uważa, że ​​DNS jest ustawiony na 127.0.0.1 podczas uruchamiania, a następnie komputer zmienia go na właściwy serwer nazw.

Poprawka polega na ponownym uruchomieniu demona docker po uruchomieniu obrazu. W włóczęgi, zrobiłem to poprzez dodanie komendy poniżej w odpowiednim miejscu w moim Vagrantfile:

config.vm.provision :shell, inline: "/etc/init.d/docker restart" 

Wygląda na to, że jest to znany problem w boot2docker które zostaną ustalone w nadchodzącej wersji: https://github.com/boot2docker/boot2docker/issues/357

2

Podziękowania dla @oillio za link do problemu i dyskusję w środku.

Zdarza się w środowisku Windows 7, a także za pomocą boot2docker 1.0.1, śledzę sugestię w https://github.com/boot2docker/boot2docker/issues/357

$ sudo udhcpc # refresh the DHCP 
$ sudo /etc/init.d/docker restart # restart the service 
Powiązane problemy