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

关于docker - 在Docker用户创建的桥接网络中,命名容器如何知道彼此的IP地址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45319174/

10-16 22:25