Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 容器名称解析的功能模块在哪里?_Docker_Networking - Fatal编程技术网

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服务。谢谢,您解决了我的问题。