Docker 设置 DNS

Posted catoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于Docker 设置 DNS的主要内容,如果未能解决你的问题,请参考以下文章

docker 容器设置 DNS 不生效的问题

docker 容器设置 DNS 不生效的问题

docker 容器设置 DNS 不生效的问题

如何为 Elastic Beanstalk DOCKER 环境设置永久 DNS 名称?

如何为 Docker Compose 配置 dns 条目

如何为Docker Compose配置dns条目