DOCKER 无法获取使用宿主机DNS 的原因,解决方法

Posted 高因咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOCKER 无法获取使用宿主机DNS 的原因,解决方法相关的知识,希望对你有一定的参考价值。

 今天在公司服务器上部署项目,遇到一个大坑.接口怎么请求都不同,宿主机DNS已经改了.宿主可以请求,找了半天,原来是DOCKER 没有获取到主机的DNS

进去DOCKER解析不了域名

指定DNS 启动也有警告

[[email protected] ~]# docker run -itd -p 8050:8060 --dns 8.8.8.8 --dns 114.114.114.114 39d515903295
WARNING: IPv4 forwarding is disabled. Networking will not work.
267d055b9926bc1584d775a96d6a386e2eb22b204b81e81868fc6ef1708dd805

根据这个警告找到解决方法

# vi /usr/lib/sysctl.d/00-system.conf

在最后面添加一行

net.ipv4.ip_forward = 1 

然后

systemctl restart network

再次启动容器,进入容器内,测试可以解析域名了

以上是关于DOCKER 无法获取使用宿主机DNS 的原因,解决方法的主要内容,如果未能解决你的问题,请参考以下文章

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

当主机使用dnsmasq并且Google的DNS服务器被防火墙时,DNS无法在docker容器中工作?

当主机使用 dnsmasq 并且 Google 的 DNS 服务器有防火墙时,DNS 在 docker 容器中不起作用?

使用主机 DNS 服务器的 Docker-compose 容器

容器的DNS和主机名

Ubuntu docker无法连网