Dock:er 容器的 DNS!! (是怎么实)现的

2025-07-25 11:06:26      来源:中南大学新闻网

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

  2019年9月,国务院办公厅印发《关于促进全民健身和体育消费推动体育产业高质量发展的意见》,其中提到推动体育赛事职业化,支持发展体育经纪人队伍,挖掘体育明星市场价值。2019年12月,国家体育总局发布废止部分规范性文件的通知,《关于对国家队运动员商业活动试行合同管理的通知》等限制运动员商业活动的规定被废止。曾文莉认为,即便如此,目前国内体育经济的价值还有待充分释放。她对已走上职业化道路多年的网球充满希望,认为网球市场可能是一个突破口。

责编:性驰雪编辑

小沈阳女儿希望像前辈一样

  常年打球的张先生告诉《环球时报》记者:“在郑钦文夺冠前的这几年,网球运动在大众层面一直是向上走的态势,加入网球运动行列中的人不断增多。”张先生分析,这也许跟网球是隔网运动有关,因此在疫情期间受到欢迎。

魏栓师等人违规吃喝致人死亡

  因此在不断强化税收征管的同时,应该同步适度推进税制改革,适度降低名义税率,让企业实际税负维持在一个合理水平,同时国家财政收入也并不会由此减少,进而实现良性循环。

歌手

  据官网介绍,四川绵阳是我国重要国防军工和科研生产基地,邓稼先、于敏等9位“两弹一星”元勋和成千上万的科技精英在这里“干惊天动地事、做隐姓埋名人”。

李莎旻子请停止整

  北京、上海、广州是3大全方位门户复合型功能的国际航空枢纽,成都、深圳、重庆、昆明、西安、乌鲁木齐、哈尔滨是7大区位门户复合型功能的国际航空枢纽。

习近平会见新西兰总理拉克森

  今年36岁的李樟煜,已经在残疾人自行车项目征战多年。2012年伦敦残奥会,他第一次实现了残奥冠军梦。接下来,从里约到东京,再到巴黎,他带着梦想破风前行,每届残奥会都有金牌入账。据介绍,李樟煜获得的各类国际赛事奖牌已有50多枚。

陈楚生第一

  适度超前也有面向未来的考量。李瀚明表示,最近几年,国内长途旅行取代了一部分出国游的需求。西北是国内长途旅行的主要目的地之一,新疆、青甘大环线等热度居高不下。西北遥远,高铁也不发达,更依赖民航运输。此外,西安和乌鲁木齐还有建设国际航空枢纽的需要。/p>

男孩结婚小时后坠亡婚姻被判无效

  李瀚明进一步分析,西安接近中国的几何中心,这样的地理位置飞国内任何地方都很便利。加上西安产业发达,又是旅游胜地,这些因素让西安国内客流常年处于高位,间接影响了打造国际枢纽的必要性。此外,也是因为接近国内几何中心,西安无论哪个方向的洲际航线,都得使用宽体机。二线枢纽用宽体机飞国际线,往往存在客流不足、上座率不高的情况。/p>

年净网护网专项工作部署会召开

  第二,议程设置失灵。新任领导刚上任,却没有提出让民众有感的重大改革行动,欠缺议程设置能力,迄未展现其领导能力,无法主导政治议程,反而任由蓝白“在野”党主导议题引领风潮。