我在运行docker容器时遇到了一个有趣的问题:出乎意料的是,我无法从容器中解析DNS。
这是一个简要说明:
什么都没有解决; 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
标记和不带docker run -it ubuntu ping 8.8.8.8
标记。
我可以从容器内外达到8.8.8.8。 /etc/sysconfig/docker
有效。
通过编辑DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.8.4"
添加{{1},我已将容器配置为同时使用8.8.8.8,8.8.8.4和我的本地网络DNS服务器(各种排列)并在运行时在容器上设置--dns 8.8.8.8
标志。每次更改之间都会运行systemctl restart docker
。
ip_forward
已启用。 (见here)
我已完成指定here的完全重置。
我正在运行Fedora 21,docker客户端版本1.5.0。
有什么想法吗?我完全不知道是什么阻止了docker成功访问Internet。
答案 0 :(得分:5)
他们已经解决了1.8:https://github.com/docker/docker/issues/13381干杯问题。
答案 1 :(得分:1)
在完成所有这些之后,完全重新启动解决了这个问题 - 尽管如此,仍然无法解决问题。
如果有人知道实际原因是什么,我仍然很好奇,但现在问题已经消失。
答案 2 :(得分:0)
您可以在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