J'ai besoin d'ajouter quelques lignes pour /etc/hosts
que mon application Web fonctionne dans un conteneur Docker.
Docker /etc/hosts
est en lecture seule.
J'essaie d'utiliser dnsmasq:
DE ubuntu: 14.04 # ... RUN apt-get install -y -q dnsmasq RUN echo 'listen-address = 127.0.0.1' >> /etc/dnsmasq.conf RUN echo 'resolv-file = / etc / resolv.dnsmasq.conf' >> /etc/dnsmasq.conf RUN echo 'conf-dir = / etc / dnsmasq.d' >> /etc/dnsmasq.conf RUN echo 'user = root' >> /etc/dnsmasq.conf RUN echo 'nameserver 8.8.8.8' >> /etc/resolv.dnsmasq.conf RUN echo 'nameserver 8.8.4.4' >> /etc/resolv.dnsmasq.conf RUN echo 'address = "/ mydomain / 127.0.6.1"' >> /etc/dnsmasq.d/0hosts RUN service dnsmasq start
Cependant, je ne peux pas demander à Docker d'utiliser mon serveur DNS:
$ docker --dns = 127.0.0.1 exécutez mon / container cat /etc/resolv.conf serveur de noms 8.8.8.8 serveur de noms 8.8.4.4
Qu'est-ce que je rate?
Configuration:
- OS X 10.9.4
- Docker version 1.1.0, build 79812e3
- Boot2docker Client version: v1.1.0, Git commit: 7e20d36
domain-name-system
mac-osx
docker
Alexander Gladysh
la source
la source
/etc/default/docker
fichier n'est pas utilisé lorsque le démon docker est exécuté, vous devez modifier ledaemon.json
fichier de configuration. Voir docs.docker.com/engine/reference/commandline/dockerd/…Ce qui me manque, c'est que j'ai foiré l'ordre des options et des arguments. Si je précise
--dns
aprèsrun
, tout fonctionne bien.Doh.
la source
--dns
option plusieurs fois. Par exempledocker run --dns 8.8.8.8 --dns 127.0.0.1 my/container