Docke:r 容器的 DNS 是怎、么实现的

2025-07-23 16:38:04      来源:中国新闻周刊

在日常使用Docker构建微服务架构的过程中,我们经常会遇到一个问题:多个容器之间是如何通过名字互相访问的?DNS是怎么做到的?

从底层机制讲清楚Docker的DNS系统

1.容器间通信的前提:同一个网络

Docker默认会创建一个叫bridge的网桥网络。所有未指定网络的容器,都会被分配到这个bridge网络中。

在这个默认网络中,虽然每个容器都有一个独立的IP地址,但要实现通过容器名访问其他容器,就必须依赖Docker提供的DNS服务。

⚠️注意:只有在用户自定义的bridge网络中,容器名解析才默认开启!默认的bridge网络不支持容器名解析!

2.Docker的内置DNS是如何工作的?

Docker在每个容器启动时,会将容器的/etc/resolv.conf文件指向一个特殊的DNS地址:127.0.0.11

这个地址并不是真的公网DNS,而是DockerDaemon内置的DNS服务器。

这个DNS有以下作用:

解析外部域名(比如访问百度、Google)

解析容器内部服务名(比如web,db等容器名)

它的背后是Docker的embeddedDNSserver,工作机制大概如下:

1️⃣容器发出DNS查询请求(查某个服务名)

2️⃣请求发到127.0.0.11(docker的内部DNS)

3️⃣DockerDNS根据网络配置,找到对应容器的IP地址

4️⃣将结果返回给发起请求的容器

3.实验验证:容器名访问是否生效?

我们创建一个自定义网络,并启动两个容器测试下

#创建一个自定义bridge网络dockernetworkcreatemynet#启动容器A,名字叫webdockerrun-it--rm--nameweb--networkmynetbusyboxsh#启动容器B,在这个网络中尝试pingwebdockerrun-it--rm--networkmynetbusyboxsh

在B容器中输入:

pingweb

你会发现,DNS能自动解析出web的IP,这就说明Docker的内置DNS正常工作啦

4.自定义服务名(别名)怎么设置?

有时候我们希望容器访问的名字不是容器名,而是我们指定的服务名。Docker也支持这一点:

dockerrun-it--rm\--networkmynet\--namemydb\--network-aliasdatabase\busyboxsh

然后在其他容器中,就可以通过database这个名字访问它

5.与外部DNS的协同

Docker的embeddedDNS并不是万能的,它在无法解析服务名时,会把请求转发给/etc/resolv.conf中指定的上游DNS。

这意味着:

外部网络访问正常(比如你容器内pingwww.baidu.com)

内部容器名也能解析

DockerDNS是中间层代理

这个设计非常巧妙!兼顾了内外网的域名解析。

6.容器DNS失效的常见问题

❌没有使用自定义网络,导致DNS解析失败

❌使用了host网络,容器直接共享宿主机网络,无法使用Docker的DNS

❌被resolv.conf修改或者挂载了宿主机DNS文件

❌某些VPN环境导致容器DNS路由异常

解决方法建议:

尽量使用自定义bridge网络

检查/etc/resolv.conf是否被覆盖

检查Docker网络配置dockernetworkinspect

总结

Docker容器之间的DNS解析,其实是靠DockerDaemon内置的DNS服务(监听在127.0.0.11)来实现的,它能让容器通过服务名互相访问,还支持alias、自定义网络、多级域名等能力。

  西安咸阳机场T5,与北京大兴机场、成都天府机场航站楼面积相当。三座机场中规模最小的兰州中川机场T3,面积也相当于上海虹桥机场两座航站楼之和。

责编:夏琳辰编辑

留英博士迷奸多人想化学阉割减刑遭拒

  去年以来,中国对多个国家单方面免签。截至目前,中方已经对法国、德国、意大利、荷兰、西班牙、瑞士、爱尔兰、匈牙利、奥地利、比利时、卢森堡等国施行单方面免签;还与泰国、新加坡、马来西亚、格鲁吉亚等国互免了签证。此前的6月13日,国务院总理李强在惠灵顿总督府同新西兰总理拉克森举行会谈。李强表示,将把新西兰纳入单方面免签国家范围,希望新方为中国公民赴新提供更多便利。

美国型钻地弹仅次于核武器

  受高空低槽东移影响,16日河南省有分散性阵雨、雷阵雨,雨量分布不均,中西部局部中雨或大雨,并伴有短时强降水、雷暴大风等强对流天气。

人生第一个双男主又回来了

  反观乌鲁木齐,偏居西北一隅的位置,为向西开放提供了便利。李瀚明指出,与乌鲁木齐类似的其实是哈萨克斯坦阿拉木图,两座城市都位于亚欧航路的中间点。利用空客A321XLR这样的远程窄体机,阿拉木图成功开航伦敦。在国内,乌鲁木齐是唯一一个用窄体机能直飞欧洲的航空枢纽。

美国制裁了一艘船

  第三,新的台行政机构刚上路,即遇上立法机构改革风暴,尚无亮丽表现。再加上若干“部会”状况不少,屡成媒体议论焦点,如台内务主管部门、经济主管部门、“海委会”等。

临江仙结局

  上述两起事件,引起了一些企业人士的担忧。这些担忧包括是否存在全国性查税,不少企业担忧如果倒查多年需要补税,这对于经营困难的当下无疑是“雪上加霜”。

央视取消播出易建联专访

  参与运营北京奥林匹克森林公园西畔的国家网球中心两片红土网球场地的维宁体育创始人、CEO纪宁8日告诉《环球时报》记者:“本就稀缺的网球场馆在郑钦文夺冠后变得更加炙手可热,现在根本都约不上。”/p>

猫和老鼠新动画电影定档

  王一新严重违反党的政治纪律、组织纪律、廉洁纪律和生活纪律,构成严重职务违法并涉嫌受贿犯罪,且在党的十八大后不收敛、不收手,性质严重,影响恶劣,应予严肃处理。依据《中国共产党纪律处分条例》《中华人民共和国监察法》《中华人民共和国公职人员政务处分法》等有关规定,经中央纪委常委会会议研究并报中共中央批准,决定给予王一新开除党籍处分;由国家监委给予其开除公职处分;终止其黑龙江省第十三次党代会代表资格;收缴其违纪违法所得;将其涉嫌犯罪问题移送检察机关依法审查起诉,所涉财物一并移送。/p>

张艺兴为演话剧专门去敦煌学习

  携程集团副总裁秦静认为,随着这一政策的施行,将加速中国与澳大利亚之间的旅游交流及经贸互动。同时,政策也将惠及在澳大利亚生活的逾百万华人华侨,使得他们回国探亲或旅游的过程更为简便顺畅。秦静指出,作为亚太地区的重要国家,中国与澳大利亚在经济上具有高度的互补性,合作潜力巨大,未来也期盼在旅游领域激发更强劲的合作动力。