繁体   English   中英

Docker容器可以访问DNS但不能解析主机

[英]Docker container can reach DNS but not resolve hosts

我在运行docker容器时遇到了一个有趣的问题:出乎意料的是,我无法从容器中解析DNS。

这是一个纲要:

  1. 什么都没有解决; apt-get,pip,one-off ping容器等。运行docker run -it --dns=8.8.8.8 ubuntu ping www.google.com导致ping: unknown host www.google.com有和没有--dns标志。

  2. 我可以从容器的内部和外部达到8.8.8.8。 docker run -it ubuntu ping 8.8.8.8有效。

  3. 我已经将容器配置为使用8.8.8.8,8.8.8.4和我的本地网络DNS服务器(各种排列),通过编辑/etc/sysconfig/docker DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.8.4"来添加DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.8.4"并在运行时在容器上设置--dns 8.8.8.8标志。 每次更改之间都运行systemctl restart docker

  4. ip_forward已启用。 (见这里

  5. 我完成了这里指定的完全重置。

我正在运行Fedora 21,docker客户端版本1.5.0。

有任何想法吗? 我完全不知道是什么阻止了docker成功访问Internet。

他们已经解决了1.8中的问题: https//github.com/docker/docker/issues/13381干杯。

在这之后,完全重新启动解决了这个问题 - 尽管如此,仍然无法解决问题。

如果有人知道实际原因是什么,我仍然很好奇,但现在问题已经消失。

您可以在docker镜像中安装dig工具来解决问题。

/etc/hosts文件中使用静态主机te make apt-get在docker镜像内运行。 将这些行添加到您的hosts文件:

213.32.5.7 debian.mirrors.ovh.net
141.76.2.4 ftp.de.debian.org 
217.196.149.233 mirror-conova-security.debian.org
212.211.132.250 lobos.debian.org
212.211.132.250 security.debian.org 
5.153.231.4  http.debian.net 
151.101.12.204 cdn-fastly.deb.debian.org
151.101.12.204 security-cdn.debian.org

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM