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

目录
相关文章
|
15天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
20天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
29 4
|
25天前
|
域名解析 网络协议 Linux
使用 Webmin+bind9快速搭建私有DNS服务器
使用 Webmin+bind9快速搭建私有DNS服务器
68 1
|
1月前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
50 0
|
5天前
|
XML Java 数据格式
Servlet 教程 之 Servlet 服务器 HTTP 响应 3
`Servlet`教程示例展示了如何创建一个HTTP响应,使用`@WebServlet("/Refresh")`的`Refresh`类继承`HttpServlet`。在`doGet`方法中,设置了`Refresh`头以每5秒自动刷新,并用`setContentType("text/html;charset=UTF-8")`设定内容类型。还使用`Calendar`和`SimpleDateFormat`获取并格式化当前时间显示。相应的`web.xml`配置指定了Servlet路径。当访问此Servlet时,页面将每5秒更新一次显示的系统时间。
16 4
|
6天前
|
安全 Unix Linux
Windows如何远程连接服务器?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。今天驰网飞飞将和你分享Windows server远程连接图文教程,希望可以帮助到你
21 4
Windows如何远程连接服务器?服务器远程连接图文教程
|
1天前
|
C语言
循坏语句解析(C语言零基础教程)
循坏语句解析(C语言零基础教程)
|
11天前
|
人工智能 并行计算 PyTorch
Stable Diffusion 本地部署教程:详细步骤与常见问题解析
【4月更文挑战第12天】本教程详细介绍了如何在本地部署Stable Diffusion模型,包括安装Python 3.8+、CUDA 11.3+、cuDNN、PyTorch和torchvision,克隆仓库,下载预训练模型。配置运行参数后,通过运行`scripts/run_diffusion.py`生成图像。常见问题包括CUDA/CuDNN版本不匹配、显存不足、API密钥问题、模型加载失败和生成质量不佳,可按教程提供的解决办法处理。进阶操作包括使用自定义提示词和批量生成图像。完成这些步骤后,即可开始Stable Diffusion的AI艺术创作。
31 2
|
18天前
|
Python
Python网络编程基础(Socket编程)UDP服务器编程
【4月更文挑战第8天】Python UDP服务器编程使用socket库创建UDP套接字,绑定到特定地址(如localhost:8000),通过`recvfrom`接收客户端数据报,显示数据长度、地址和内容。无连接的UDP协议使得服务器无法主动发送数据,通常需应用层实现请求-响应机制。当完成时,用`close`关闭套接字。
|
21天前
|
监控 负载均衡 网络协议
DNS服务器的搭建之初体验
通过这些步骤,你可以在初次搭建DNS服务器时获得基本的体验,了解如何为域名提供解析服务,促进网络的正常运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
38 7

相关产品

  • 云解析DNS