前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用户定义网络中的内嵌DNS服务器

用户定义网络中的内嵌DNS服务器

作者头像
用户1516716
发布2018-04-18 10:56:35
3K1
发布2018-04-18 10:56:35
举报
文章被收录于专栏:A周立SpringCloud

本节中的信息涵盖用户自定义网络中的容器的内嵌DNS服务器操作。连接到用户自定义网络的容器的DNS lookup与连接到默认 bridge 网络的容器的工作机制不同。

注意 :为了保持向后兼容性, 默认 bridge 网络的DNS配置保持不变, 有关默认网桥中DNS配置的详细信息,请参阅默认网桥中的DNS 。

从Docker 1.10开始,Docker daemon实现了一个内嵌的DNS服务器,它为任何使用有效 namenet-alias 或使用 link 别名所创建的容器提供内置的服务发现能力。 Docker如何管理容器内DNS配置的具体细节可随着Docker版本的改变而改变。 所以你不应该自己管理容器内的 /etc/hosts/etc/resolv.conf 等文件,而是使用以下的Docker选项。

影响容器域名服务的各种容器选项。

代码语言:javascript
复制
除如上所述的 --name 以外,容器可使用用户自定义网络中的一个或多个 --network-alias (或 docker network connect 命令中的 --alias 选项)发现。 内嵌DNS服务器维护特定用户自定义网络中所有容器别名及IP之间的映射。 通过在 docker network connect 命令中使用 --alias 选项,容器可在不同的网络中具有不同的别名。

在没有 --dns=IP_ADDRESS...--dns-search=DOMAIN...--dns-opt=OPTION... 选项的情况下,Docker使用宿主机的 /etc/resolv.confdocker daemon 运行的地方)。 在执行此操作时,damon会从宿主机的原始文件中过滤出所有localhost IP地址 nameserver 条目。

过滤是必要的,因为宿主机上的所有localhost地址都不可从容器的网络中访问。过滤之后,如果容器的 /etc/resolv.conf 文件中没有更多的 nameserver 条目,daemon会将公共Google DNS名称服务器(8.8.8.8和8.8.4.4)添加到容器的DNS配置中。 如果daemon启用了IPv6,则也会添加公共IPv6 Google DNS名称服务器(2001:4860:4860::8888 以及 2001:4860:4860::8844)。

注意 :如果您需要访问宿主机的localhost解析器,则必须修改宿主机上的DNS服务,以便侦听从容器内可访问的non-localhost地址。 注意 :DNS服务器始终为 127.0.0.11

原文

https://docs.docker.com/engine/userguide/networking/configure-dns/

参考&拓展阅读

Docker内置DNS:https://jimmysong.io/blogs/docker-embedded-dns/

Dns: http://blog.csdn.net/waltonwang/article/details/54098592

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 A周立SpringCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文
  • 参考&拓展阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档