我需要添加几行到/etc/hosts以供我的web-app在Docker容器中工作。
Docker的/etc/hosts是只读的。
我正在尝试使用dnsmasq:
从Ubuntu的:14.04 #... 运行apt-get install -y -q dnsmasq 运行echo'listen-address = 127.0.0.1 >> >> /etc/dnsmasq.conf RUN echo'resolv-file = / etc / resolv.dnsmasq.conf'>> /etc/dnsmasq.conf 运行echo'conf-dir = / etc / dnsmasq.d'>> /etc/dnsmasq.conf 运行echo'user = root'>> /etc/dnsmasq.conf 运行echo'nameserver 8.8.8.8'>> /etc/resolv.dnsmasq.conf 运行echo'nameserver 8.8.4.4'>> /etc/resolv.dnsmasq.conf RUN echo'address =“/ mydomain / 127.0.6.1”>> >> /etc/dnsmasq.d/0hosts 运行服务dnsmasq启动
但是,我无法让Docker使用我的DNS服务器:
$ docker --dns = 127.0.0.1运行我的/容器猫/etc/resolv.conf 名称服务器8.8.8.8 域名服务器8.8.4.4
我错过了什么?
组态:
--dns适用于docker run但不适用于docker build 。 所以更好的解决办法是用全局调整设置
DOCKER_OPTS="--dns=my-private-dns-server-ip --dns=8.8.8.8"
在Ubuntu上,我把这一行放到/etc/default/docker
我所缺less的是我搞乱了选项和论点的顺序。 如果我run后指定--dns ,一切工作正常。
$ docker run --dns = 127.0.0.1 my / container cat /etc/resolv.conf 域名服务器127.0.0.1
卫生署。