- 강의 질문
- 개발/데이터
Part1 - Ch 6 - 03. Docker DNS
안녕하세요,
강의 10~11분 구간의 실습에서, DNS 서버 IP 및 타겟 그룹 내 컨테이너를 nslookup
으로 조회하는 과정 중 도메인 조회가 되지 않습니다.
저는 fc-net2
라는 사용자 정의 네트워크를 생성했으며, 컨테이너 실행 시 --net-alias
옵션으로 별칭을 설정했습니다.
하지만 docker network inspect fc-net2
명령어로 네트워크 정보를 확인해봐도 해당 alias가 출력되지 않고, nslookup
으로도 조회되지 않습니다.
별칭(alias)을 정상적으로 등록하고 DNS에서 인식되도록 하려면 어떻게 해야 하나요?
- 컨테이너 생성 명령어
# es1
docker run -d --name=es1 --net=fc-net2 --net-alias=esnet-tg -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.17.28
# es2
docker run -d --name=es2 --net=fc-net2 --net-alias=esnet-tg -p 9202:9200 -p 9302:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.17.28
- 생성 확인
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6c547385434a elasticsearch:7.17.28 "/bin/tini -- /usr/l…" 13 minutes ago Up 13 minutes 0.0.0.0:9202->9200/tcp, :::9202->9200/tcp, 0.0.0.0:9302->9300/tcp, :::9302->9300/tcp es2
ae0068fab79e elasticsearch:7.17.28 "/bin/tini -- /usr/l…" 13 minutes ago Up 13 minutes 0.0.0.0:9201->9200/tcp, :::9201->9200/tcp, 0.0.0.0:9301->9300/tcp, :::9301->9300/tcp es1
- 컨테이너 별칭 확인
"Networks": {
"fc-net2": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"esnet-tg",
"ae0068fab79e"
],
- 네트워크 상세 확인
docker network inspect fc-net2
- 출력 확인
"Containers": {
"6c547385434a538bcde6eb28b0b678896aff798e18db8f4d40243624f855c339": {
"Name": "es2",
"EndpointID": "ab6facc8095232df5e2786862dcb029a92111678346366558cd0c07dfea3c06f",
"MacAddress": "02:42:ac:13:00:03",
"IPv4Address": "172.19.0.3/16",
"IPv6Address": ""
},
"ae0068fab79e00be1316d503a2144fdc161226f5c52b0d5f5e0f80d02055e749": {
"Name": "es1",
"EndpointID": "0ecbaa2fdae652cd55fd91f3bcec02d0496ae9c3604d5effdc4386efc0c235a9",
"MacAddress": "02:42:ac:13:00:02",
"IPv4Address": "172.19.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
- 타겟그룹 nslookup 조회
docker run -it --rm --name=request-container --net=fc-net2 busybox nslookup esnet-tg
- 출력 확인
Server: 127.0.0.11
Address: 127.0.0.11:53
** server can't find esnet-tg.ap-northeast-2.compute.internal: NXDOMAIN
** server can't find esnet-tg.ap-northeast-2.compute.internal: NXDOMAIN
- 개별 조회 결과
#1
docker run -it --rm --name=request-container --net=fc-net2 busybox nslookup 172.19.0.2
- 출력 확인
Server: 127.0.0.11
Address: 127.0.0.11:53
Non-authoritative answer:
2.0.19.172.in-addr.arpa name = es1.fc-net2
#2
docker run -it --rm --name=request-container --net=fc-net2 busybox nslookup 172.19.0.3
- 출력 확인
Server: 127.0.0.11
Address: 127.0.0.11:53
Non-authoritative answer:
3.0.19.172.in-addr.arpa name = es2.fc-net2