나는 그것을 사용하고 있다https://hub.docker.com/_/centos/ CentOS 7 도커 이미지. 클러스터 내에 서비스의 복제본 3개를 생성했으며 내부 Docker DNS를 쿼리하고 싶습니다.
~을 위한BusyBox 이미지 찾다설명서에 표시된 대로 정확하게 작동합니다.https://docs.docker.com/engine/swarm/networking/#/use-swarm-mode-service-discovery):
nslookup tasks.my-web
Server: 127.0.0.11
Address 1: 127.0.0.11
Name: tasks.my-web
Address 1: 10.0.0.8 my-web.2.2s1t73cy4m5oi4nadqjrsp0y9.cluster_net
Address 2: 10.0.0.9 my-web.3.2vu4qaxm5zkz56atmmvlm7iur.cluster_net
Address 3: 10.0.0.7 my-web.1.5dtqm90o8b4vgrli3z81axmyp.cluster_net
하지만 함께찾다도구(패키지:bind-libs-9.9.4-29.el7_2.4.x86_64,bind-utils-9.9.4-29.el7_2.4.x86_64)CentOS 7 컨테이너잘린 결과를 얻었습니다.
nslookup tasks.my-web
Server: 127.0.0.11
Address: 127.0.0.11#53
Non-authoritative answer:
Name: tasks.my-web
Address: 10.0.0.9
Name: tasks.my-web
Address: 10.0.0.7
Name: tasks.my-web
Address: 10.0.0.8
나는 이 문제를 해결하고 싶다.
고쳐 쓰다:명령을 사용하여 더 많은 정보를 얻을 수 있습니다
nslookup 10.0.0.7
nslookup 10.0.0.8
nslookup 10.0.0.9
하지만 저는 더 간단한 해결책에 관심이 있습니다.
답변1
단일 라인 솔루션 전용
dig +short tasks.$SERVICE_NAME | xargs -r -n 1 dig +short -x
산출
my-web.2.2s1t73cy4m5oi4nadqjrsp0y9.cluster_net
my-web.3.2vu4qaxm5zkz56atmmvlm7iur.cluster_net
my-web.1.5dtqm90o8b4vgrli3z81axmyp.cluster_net