Docker 容器名称解析的功能模块在哪里?
我创建了一个名为Docker 容器名称解析的功能模块在哪里?,docker,networking,Docker,Networking,我创建了一个名为docker-br0的桥: [root@att ~]# docker network list NETWORK ID NAME DRIVER SCOPE eb92c719d431 docker-br0 bridge local ... docker run -itd --name ubuntu01 --network docker-br0 ubun
docker-br0
的桥:
[root@att ~]# docker network list
NETWORK ID NAME DRIVER SCOPE
eb92c719d431 docker-br0 bridge local
...
docker run -itd --name ubuntu01 --network docker-br0 ubuntu /bin/bash
docker run -itd --name ubuntu02 --network docker-br0 ubuntu /bin/bash
现在我运行两个容器ubuntu01
和ubuntu02
,它们附在docker-br0
中:
[root@att ~]# docker network list
NETWORK ID NAME DRIVER SCOPE
eb92c719d431 docker-br0 bridge local
...
docker run -itd --name ubuntu01 --network docker-br0 ubuntu /bin/bash
docker run -itd --name ubuntu02 --network docker-br0 ubuntu /bin/bash
现在,它们可以使用容器名称彼此ping:
root@d4b349ad46db:/# ping ubuntu01
PING ubuntu01 (172.18.0.2) 56(84) bytes of data.
64 bytes from ubuntu01.docker-br0 (172.18.0.2): icmp_seq=1 ttl=64 time=0.095 ms
64 bytes from ubuntu01.docker-br0 (172.18.0.2): icmp_seq=2 ttl=64 time=0.079 ms
及
我的问题是,一个特殊的容器怎么能不映射另一个容器的名称IP
在ubuntu02
(或utbun01
)/etc/hosts
文件中,它只添加了自己的IP地址
root@d4b349ad46db:/# more /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.3 d4b349ad46db
那么,容器名称-ip解析在哪里?Docker运行一个内部DNS服务,容器使用该服务解析其他容器名称/etc/resolv.conf配置为指向此DNS服务。谢谢,您解决了我的问题。