宿主机改dns容器会生效吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宿主机改dns容器会生效吗相关的知识,希望对你有一定的参考价值。

参考技术A 如果用户是在Dockerfile里面修改/etc/resolv.conf、/etc/hosts以及/etc/hostname文件,均不会生效。

Docker 设置 DNS

DNS 解析和默认网关不同,用比喻来说网关属于套娃模式,当容器对外访问网络时,会经过宿主机。但是 DNS 可以理解为客户端端点模式,你宿主机配置了 DNS 并不能使你 Docker 容器就默认可以解析了。所以要想 Docker 容器可以正常的通过域名访问,需要为容器也设置具体的 DNS 地址。

方法分为指定docker容器设置和宿主机docker统一设置两种:

方式一:宿主机统一设置

修改 /etc/docker/daemon.json,按如下示例配置:


  "dns" : [
    "114.114.114.114",
    "8.8.8.8"
  ]

修改配置后需要加载配置并重启docker服务:

systemctl daemon-reload
systemctl restart docker

方式二:为指定容器设置

 docker run -itd --dns=114.114.114.114 centos

最后使用命令进入启动的容器内部,查看 /etc/resolv.conf 文件内容或者通过 ping 等方法验证结果。


(END)

以上是关于宿主机改dns容器会生效吗的主要内容,如果未能解决你的问题,请参考以下文章

Docker 设置 DNS

Docker 设置 DNS

Docker 容器无法访问 DNS 但无法解析主机

为什么更新了 DNS 记录不生效?

电脑的linux系统主机名字为啥会变来变去

如何修改linux主机名才能永久生效?