在Docker用户创build的桥接networking中,命名容器如何知道彼此的IP地址?

docker network create --driver bridge network1 docker run -itd --name docker1 --network network1 busybox docker run -itd --name docker2 --network network1 busybox docker exec -it docker1 /bin/bash 

现在在docker1中,我可以ping docker2

 / # ping docker2 PING docker2 (172.19.0.3): 56 data bytes 64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.056 ms 

我以为这个条目是添加在/ etc / hosts中,但是不是

 / # cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix 172.19.0.2 841c0dc99115 

docker1如何知道docker2的IP地址?

Docker通过Docker守护程序使用的内部DNS服务器parsing名称,您可以通过cat /etc/resolv.conf来检查DNS地址,以了解更多信息,您可以在这里阅读