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



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

下面是一个概要:

  1. 什么都解决不了;apt-get、pip、一次性ping容器等。运行docker run -it --dns=8.8.8.8 ubuntu ping www.google.com会产生带有和不带有--dns标志的ping: unknown host www.google.com

  2. 我可以从集装箱内部和外部达到8.8.8.8。docker run -it ubuntu ping 8.8.8.8起作用。

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

  4. ip_forward被启用。(见此处)

  5. 我已经按照此处的指定进行了完全重置。

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

有什么想法吗?我完全不知道是什么阻碍了docker成功访问互联网。

他们在1.8中解决了这个问题:https://github.com/docker/docker/issues/13381干杯

在所有这些之后,完全重新启动解决了问题——尽管这仍然不能解决问题。

如果有人知道真正的原因是什么,我仍然很好奇,但现在问题已经解决了。

您可以在docker映像中安装dig之类的工具来解决问题。

/etc/hosts文件中使用静态主机,使apt-get在docker映像中运行。将这些行添加到主机文件:

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

相关内容

  • 没有找到相关文章

最新更新