如何验证docker compose dns的行为?

如何验证docker compose dns的行为?,docker,networking,dns,docker-compose,Docker,Networking,Dns,Docker Compose,我对docker compose中的容器网络有点困惑。如果我没有弄错的话,它的工作方式将创建一个新的网桥网络,并将所有容器添加到这个新的网桥网络中。与现实生活中的网桥类似,每个容器将能够访问彼此的本地IP地址。此外,网桥网络提供DNS服务,允许您按名称引用容器。 假设这一切都是正确的,我没有得到的部分是如何从容器中访问和使用此DNS服务?我无法通过容器与DNS服务对话来理解其机制。内部DNS服务器位于127.0.0.11:53。您需要dig命令来检查它 apt install -y dnsuti

我对docker compose中的容器网络有点困惑。如果我没有弄错的话,它的工作方式将创建一个新的网桥网络,并将所有容器添加到这个新的网桥网络中。与现实生活中的网桥类似,每个容器将能够访问彼此的本地IP地址。此外,网桥网络提供DNS服务,允许您按名称引用容器。
假设这一切都是正确的,我没有得到的部分是如何从容器中访问和使用此DNS服务?我无法通过容器与DNS服务对话来理解其机制。内部DNS服务器位于
127.0.0.11:53
。您需要
dig
命令来检查它

apt install -y dnsutils
然后,您可以运行该命令并在容器内按容器名称查询容器

$ dig web @127.0.0.11

; <<>> DiG 9.9.5-9+deb8u14-Debian <<>> web @127.0.0.11
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48886
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;web.               IN  A

;; ANSWER SECTION:
web.            600 IN  A   172.20.0.4

;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Tue Sep 26 09:28:40 UTC 2017
;; MSG SIZE  rcvd: 40
$digweb@127.0.0.11
;  DiG 9.9.5-9+deb8u14 Debian web@127.0.0.11
;; 全局选项:+cmd
;; 得到答案:

;; ->>标题有没有一种方法可以使用
dig
(或其他任何东西)列出可用的服务,而不必指定它们或grep编写文件?