19

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

这是一个纲要:

  1. 什么都解决不了;apt-get、pip、一次性 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. /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 服务器(以各种排列方式) 。systemctl restart docker在每次更改之间运行。

  4. ip_forward已启用。(见这里

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

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

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

4

3 回答 3

5

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

于 2015-08-10T20:28:35.487 回答
1

毕竟,完全重启解决了这个问题——虽然,这仍然不能回答它是什么。

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

于 2015-03-29T16:26:02.790 回答
0

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

在您的文件中使用静态主机/etc/hostste 使 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
于 2018-11-10T13:33:32.837 回答