Docker 【容器】:的 DNS 是?怎么实现的

2025-07-29 05:55:01      来源:凤凰资讯

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

  公开资料显示,陈政高,男,汉族,1952年3月生,辽宁海城人,1970年12月参加工作,东北财经大学金融系货币银行学专业毕业,经济学硕士,系十七届中央候补委员、十八届中央委员。

责编:盖书编辑

中国人要把饭碗端在自己手里

  中国煤矿文工团成立于1947年东北解放区,是国家级艺术院团中历史最悠久的单位之一。2005年,加挂了“中国安全生产艺术团”的牌子。2018年9月,转隶到文化和旅游部。

蜜雪冰城房塌了

  美国财政部本周早些时候也公布了新的反俄制裁方案,涉及俄罗斯以及中国等其他国家的300多家公司、银行和数十名个人。中国外交部发言人林剑13日表示,美国在全球范围内滥施单边制裁贻害无穷,严重损害他国主权安全,造成人道惨剧,破坏产供链稳定。乌克兰危机升级后,美方制裁更是变本加厉。而这种乱舞制裁大棒的做法,不仅无助于问题的解决,反而成为世界一个主要的风险源头。

说歌手拿了第七我挺不爽的

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

以色列已掌握伊朗浓缩铀重要情报

  经查,李鹏新丧失理想信念,背弃初心使命,培植个人势力,搞“七个有之”;无视中央八项规定精神,违规接受宴请和车辆司机服务安排;对组织不忠诚、不老实,在组织函询时不如实说明问题,违背组织原则,卖官鬻爵,严重污染地方政治生态;廉洁底线失守,长期违规收受礼品、礼金;腐化堕落;贪婪无度,政商勾连,大搞新型腐败,利用职务便利为他人在矿产开发、企业经营、干部选拔任用等方面谋利,并非法收受股权股份等巨额财物。

徐明浩说不喜欢跳楼机

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

哈利伯顿受伤

  体量不及西安的兰州,也拿出大手笔。T3航站楼面积40万平方米,综合交通中心27万平方米,是甘肃民航发展史上规模最大的工程。/p>

花开锦绣官宣丁禹兮邓恩熙

  兰州和乌鲁木齐之前都只有一条跑道,因起降架次多,乌鲁木齐一直是国内最繁忙的单跑道机场之一。扩建后可以极大缓解这几座机场的现有压力。/p>

豆包丑无人生还

  笔者跟多位省级、市级税务人士交流得知,目前并没有全国性查税部署。一些地方根据当地税收大数据风险提示等对个别企业查税,是日常工作,也是税务部门正常履职。毕竟税务部门主要负责税收、社会保险费和有关非税收入的征收管理,发现偷逃税、少缴税行为,理应依法制止,否则就是渎职。