2015-11-18 19 views
10

Domyślny DNS dla Docker (np. 8.8.8.8) jest zablokowany w miejscu pracy, więc chcę zmienić domyślną. Byłem w stanie to zrobić za pomocąUstawianie DNS dla demona Docker w systemie operacyjnym z systemd

$ docker daemon --dns <mydnsaddress> 

ale chcę to zrobić za pomocą Systemd drop-in zamiast, ponieważ oficjalne docs dokowane polecam ten sposób. Zrobiłem plik /etc/systemd/system/docker.service.d/dns.conf i używane rzeczy tak:

[Service] 
DNS=<mydnsaddress> 

Ale ja po prostu nie mają pojęcia, co nazwa zmiennej ma być. Jak to ustawić? Co ważniejsze, czy istnieje strona, która dokumentuje wszystkie zmienne konfiguracyjne, które mogą być używane w drop-inach systemd dla Docker?

(btw, to Docker 1.9 na Ubuntu 15.10, choć nie podejrzewam jakieś błędy)

+1

Dokumentacja dokowania opisuje, w jaki sposób można ustawić DOCKER_OPTS w pliku/etc/default/docker: https://docs.docker.com/engine/articles/configuring/ –

Odpowiedz

27

Wszystkie .conf pliki /etc/systemd/system/docker.service.d nadrzędne ustawienia z pliku /usr/lib/systemd/system/docker.service, który jest prawie co próbowałeś.

Zamiast oddanie DNS=.. linię, trzeba skopiować ExecStart= część z pliku /usr/lib/systemd/system/docker.service do dns.conf (lub mydocker.conf). Dodaj --dns $ip po części części ExecStart. Np .:

[Service] 
ExecStart= 
ExecStart=/usr/bin/docker daemon --dns 192.168.1.1 -H fd:// 

Jeżeli 192.168.1.1 jest IP serwera DNS.

Teraz ponownie uruchom doker przez systemctl, a okno dokowane powinno teraz ponownie uruchomić z własnym dns. (Checkable via systemctl status docker.service | grep dns).

Należy pamiętać, że pusty ExecStart= jest wymagany, ponieważ systemctl tylko unieważni ExecStart, jeśli zostanie wyczyszczony jako pierwszy.

Należy również pamiętać, że systemctl daemon-reload jest potrzebny po edycji plików w /etc/systemd/system/.

Ostatnia uwaga jest taka, że ​​w niektórych systemach docker.service nie znajduje się w /usr/lib/systemd/system/, ale w /lib/systemd/system/.

+1

Dziękujemy, że to działa. Ale jest dość zawiłe ... to jest coś, co było łatwiejsze, przed systemd. –

Powiązane problemy