Docke:r 容器的 DNS14% 是怎么实现的

2025-07-29 09:55:11      来源:重庆晚报

在日常使用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、自定义网络、多级域名等能力。

  经查,陈玉祥丧失理想信念,背弃初心使命,执纪违纪,执法犯法,罔顾中央八项规定精神,热衷于吃喝享乐,长期频繁接受宴请,违规接受旅游、健身等活动安排;无视组织原则,在干部选拔任用中为他人谋取利益并收受财物;违规收受礼品、礼金;违反工作要求,干预和插手司法及执纪执法活动;甘于被“围猎”,把组织赋予的权力当作谋取私利的工具,大搞权钱交易,利用职务便利为他人在企业经营、项目运营等方面谋利,并非法收受巨额财物。

责编:张修均编辑

马景涛直播晕倒

  在四川之前,河南、内蒙古、浙江、江西的省级党委科技委员会已经亮相。河南、吉林和四川的省委科技委员会,都是由省委书记和省长担任主任。

邓超五哈了

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

沈腾对章若楠说抱歉

  数据显示,免签对入境游的促进效果显著。春秋旅游副总经理周卫红此前表示,自中国对多国单方面免签以来,对入境游市场起到积极的推动作用,让来自更多客源地的境外游客能够以更便捷的方式来到中国。

万茜拿了影后输了钱

  乌鲁木齐不缺国际和地区航线。2024年,乌鲁木齐机场累计运营定期客货运输航线共240条。其中,国际定期客运航线26条,与高加索地区三国与中亚五国实现全部通航,通航中亚航点数量为国内十大枢纽机场之首。

王欣瑜首盘好遗憾

  针对上述情况,通用汽车高管表示,企业对扭转中国市场的销售局面仍有信心,他们希望旗下新能源车型能在中国市场继续发力。据彭博社报道,通用汽车董事长兼首席执行官玛丽·博拉此前表示,“当你观察中国市场时,会发现它与5年前有很大不同。我们希望能够以正确的方式参与到这个市场中。”尽管在中国市场份额占比不大,但斯特兰蒂斯也看好中国市场,并“入股”中国车企。去年10月,斯特兰蒂斯宣布与中国零跑汽车成为全球战略伙伴,并向后者投资15亿欧元。

女子给宠物蛇喂食时蛇窜出罐子逃跑

  6月13日、14日,河南多地发布人工增雨公告。提醒:任何组织和个人若发现未爆炸或爆炸不完全弹头、弹药碎片或火箭弹残骸,切勿擅自移动、藏匿、拆解和损毁等,请立即报告当地政府或人工影响天气有关部门,或者立即拨打110向当地公安部门报警。/p>

网友称上海野生动物园发生象园霸凌

  李瀚明表示,乌鲁木齐机场的国际航线虽然多,但不强。比如国际航班量占比较少,国际航班密度不够,国际航线集中在中亚、西亚。香港航线实际上是乌鲁木齐唯一一条向东直飞的国际和地区航线。/p>

向太说自己和郭碧婷的个性很像

  国家体育总局体育文化与体育宣传发展战略研究中心高端智库骨干专家、广州体育学院教授曾文莉告诉《环球时报》记者,体育具有较强的杠杆效应,以体育赛事表演为杠杆,能撬动城市基建、旅游、文化等,激活体育消费热情,推动体育产业能级提升,而这个杠杆的原动力主要是运动员尤其是明星运动员。