Docker系列教程18-用户定义网络中的内嵌DNS服务器

简介: 原文:http://www.itmuch.com/docker/18-docker-user-network-embeded-dns/ ,转载请说明出处。

原文:http://www.itmuch.com/docker/18-docker-user-network-embeded-dns/ ,转载请说明出处。

本节中的信息涵盖用户自定义网络中的容器的内嵌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选项。

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

--name=CONTAINER-NAME 使用--name配置的容器名称用于发现用户自定义网络中的容器。 内嵌DNS服务器维护容器名称及其IP地址(在容器连接的网络上)之间的映射。
--network-alias=ALIAS 除如上所述的--name 以外,容器可使用用户自定义网络中的一个或多个--network-alias (或docker network connect 命令中的--alias 选项)发现。 内嵌DNS服务器维护特定用户自定义网络中所有容器别名及IP之间的映射。 通过在 docker network connect 命令中使用--alias 选项,容器可在不同的网络中具有不同的别名。
--link=CONTAINER_NAME:ALIAS run 容器时使用此选项为嵌入式DNS提供了一个名为ALIAS 的额外条目,指向由CONTAINER_NAME 标识的IP地址。 当使用--link 时,嵌入式DNS将确保只在使用了--link 选项的容器上进行本地化查找。 这允许新容器内的进程连接到容器,而不必知道其名称或IP。
--dns=[IP_ADDRESS...] 如果嵌入式DNS服务器无法从容器中解析名称、解析请求,嵌入式DNS服务器将使用--dns 选项传递的IP地址转发DNS查询。 这些--dns IP地址由嵌入式DNS服务器管理,不会在容器的/etc/resolv.conf 文件中更新。
--dns-search=DOMAIN... 当容器内使用主机名不合格时所设置的域名。这些--dns-search 选项由嵌入式DNS服务器管理,不会在容器的/etc/resolv.conf 文件中更新。当容器进程尝试访问host 并且搜索域 example.com被设置时,例如,DNS逻辑不仅将查找host ,还将查找host.example.com
--dns-opt=OPTION... 设置DNS解析器使用的选项。 这些选项由嵌入式DNS服务器管理,不会在容器的/etc/resolv.conf 文件中更新。有关有效选项的列表,请参阅resolv.conf文档。

在没有--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

目录
相关文章
|
8月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
3771 4
|
10月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族是什么?不同规格CPU型号、处理器主频及网络性能参数均不同
阿里云ECS实例规格族是指具有不同性能特点和适用场景的实例类型集合。不同规格族如计算型c9i、通用算力型u1、经济型e等,在CPU型号、主频、网络性能、云盘IOPS等方面存在差异。即使CPU和内存配置相同,性能参数和价格也各不相同,适用于不同业务需求。
676 144
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
228 1
|
11月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
1880 0
|
11月前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
331 0
|
8月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
7584 8
|
11月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
6358 60
|
10月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
619 16
|
11月前
|
网络协议
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
运维 关系型数据库 MySQL
宝塔面板 Docker 镜像加速教程
本文介绍了如何为宝塔面板中的 Docker 配置轩辕镜像加速。内容包括:安装 Docker 管理器、获取镜像加速地址、配置加速 URL 以及验证设置等步骤。通过使用免费版或专业版加速地址(如 docker.xuanyuan.me 或 xuanyuan.cloud),可显著提升镜像拉取速度。同时,还提供了日常使用方法和注意事项,帮助用户顺利完成配置并保障 Docker 服务稳定运行。
838 0

相关产品

  • 云解析DNS