/etc/hosts
웹 응용 프로그램이 Docker 컨테이너 내에서 작동 하려면 몇 줄을 추가해야합니다 .
도커 /etc/hosts
는 읽기 전용입니다.
dnsmasq를 사용하려고합니다.
우분투에서 : 14.04 # ... 실행 apt-get 설치 -y -q dnsmasq 에코 실행 'listen-address = 127.0.0.1'>> /etc/dnsmasq.conf 에코 실행 'resolv-file = / etc / resolv.dnsmasq.conf'>> /etc/dnsmasq.conf 에코 실행 'conf-dir = / etc / dnsmasq.d'>> /etc/dnsmasq.conf echo 'user = root'>> /etc/dnsmasq.conf 실행 에코 실행 'nameserver 8.8.8.8'>> /etc/resolv.dnsmasq.conf 에코 실행 'nameserver 8.8.4.4'>> /etc/resolv.dnsmasq.conf 에코 실행 'address = "/ mydomain / 127.0.6.1"'>> /etc/dnsmasq.d/0hosts RUN 서비스 dnsmasq 시작
그러나 Docker가 DNS 서버를 사용할 수 없습니다.
$ docker --dns = 127.0.0.1 my / container cat /etc/resolv.conf를 실행하십시오. 네임 서버 8.8.8.8 네임 서버 8.8.4.4
내가 무엇을 놓치고 있습니까?
구성 :
- OS X 10.9.4
- Docker 버전 1.1.0, 빌드 79812e3
- boot2docker 클라이언트 버전 : v1.1.0, Git 커밋 : 7e20d36
답변
--dns
작동 docker run
하지만 작동 하지 않습니다 docker build
. 더 나은 해결책은 설정을 전체적으로 조정하는 것입니다.
DOCKER_OPTS="--dns=my-private-dns-server-ip --dns=8.8.8.8"
우분투에서 나는이 라인을 넣어 /etc/default/docker
답변
내가 놓친 것은 옵션과 인수의 순서를 엉망으로 만들었다는 것입니다. --dns
after를 지정 run
하면 모든 것이 잘 작동합니다.
$ docker run --dns = 127.0.0.1 my / container cat /etc/resolv.conf 네임 서버 127.0.0.1
도