命名容器如何在 docker 用户创建的桥接网络中知道彼此的 IP 地址?

How does named container know each other's ip address in docker user created bridged network?

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 服务器解析名称您可以通过 cat /etc/resolv.conf 检查 dns 地址以了解更多信息您可以阅读 here