Apenas uma solução de uma linha
dig +short tasks.$SERVICE_NAME | xargs -r -n 1 dig +short -x
Saída
my-web.2.2s1t73cy4m5oi4nadqjrsp0y9.cluster_net
my-web.3.2vu4qaxm5zkz56atmmvlm7iur.cluster_net
my-web.1.5dtqm90o8b4vgrli3z81axmyp.cluster_net
Estou usando o link imagem do docker do CentOS 7 . Eu criei o serviço com 3 réplicas dentro do cluster e gostaria de consultar o dns interno do Docker.
Para imagem BusyBox nslookup funciona exatamente da mesma forma como mostrado na documentação: link ):
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
Mas com a ferramenta nslookup (packages: bind-libs-9.9.4-29.el7_2.4.x86_64, bind-utils-9.9.4-29.el7_2.4.x86_64) no container do CentOS 7 eu recebo um resultado truncado:
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
Eu gostaria de corrigir isso.
UPD: posso obter informações adicionais usando comandos
nslookup 10.0.0.7
nslookup 10.0.0.8
nslookup 10.0.0.9
Mas estou interessado em uma solução mais simples.
Apenas uma solução de uma linha
dig +short tasks.$SERVICE_NAME | xargs -r -n 1 dig +short -x
Saída
my-web.2.2s1t73cy4m5oi4nadqjrsp0y9.cluster_net
my-web.3.2vu4qaxm5zkz56atmmvlm7iur.cluster_net
my-web.1.5dtqm90o8b4vgrli3z81axmyp.cluster_net