Docker 实战:Docker配置 DNS

用心去追梦 2024-07-26 09:37:02 阅读 51

在Docker实战中,配置DNS(域名系统)主要有两种方式:全局配置和针对单个容器的配置。

全局配置 DNS 服务器

全局配置意味着对所有新建的Docker容器都生效。这通常通过编辑Docker守护进程的配置文件来实现:

对于Linux系统

编辑 <code>/etc/docker/daemon.json 文件(如果文件不存在,则创建它),添加或修改DNS服务器配置部分如下:

{

"dns": ["8.8.8.8", "8.8.4.4"]

}

这里,“8.8.8.8”和“8.8.4.4”是Google公共DNS服务器地址,你可以替换为任何你想要使用的DNS服务器地址。

保存并退出编辑。

重启Docker服务以应用更改:

sudo systemctl restart docker

对于Windows或macOS使用Docker Desktop

打开Docker Desktop应用程序设置,找到网络选项卡,在DNS服务器区域输入DNS服务器地址。

单独容器配置 DNS 服务器

如果你想只为特定的容器配置DNS服务器,可以在运行容器时指定DNS参数:

docker run -it --name my_container --dns=8.8.8.8 --dns=8.8.4.4 image_name

这里的 --dns 参数可以多次使用以指定多个DNS服务器。

查看容器的DNS配置

要查看已启动容器的DNS配置,可以进入容器内部检查 /etc/resolv.conf 文件:

docker exec -it my_container cat /etc/resolv.conf

注意事项

Docker默认会将宿主机的DNS转发给容器,所以容器一般能够解析与宿主机相同的域名。在某些情况下,可能需要同时配置 --dns-search--dns-option 参数来设置DNS搜索域或传递额外的DNS选项给容器内的DNS解析器。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。