Docker container can reach DNS but not resolve hosts

亡梦爱人 提交于 2019-12-21 03:19:21

问题


I'm having an interesting problem running docker containers: out of the blue, I'm not able to resolve DNS from within the container.

Here's a rundown:

  1. Nothing is resolving; apt-get, pip, one-off ping containers, etc. Running docker run -it --dns=8.8.8.8 ubuntu ping www.google.com results in ping: unknown host www.google.com both with and without the --dns flag.

  2. I can reach 8.8.8.8 both from inside and outside the containers. docker run -it ubuntu ping 8.8.8.8 works.

  3. I've configured the containers to use both 8.8.8.8, 8.8.8.4, and my local network DNS servers (in various permutations) both by editing /etc/sysconfig/docker to add DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.8.4" and by setting the --dns 8.8.8.8 flag on the containers at runtime. systemctl restart docker was run between each change.

  4. ip_forward is enabled. (see here)

  5. I've done a full reset as specified here.

I'm running Fedora 21, docker client version 1.5.0.

Any ideas? I'm at a complete loss as to what's preventing docker from accessing the Internet successfully.


回答1:


They have fixed the issue in 1.8: https://github.com/docker/docker/issues/13381 Cheers.




回答2:


After all this, a full reboot solved the problem - although, that still doesn't answer what it was.

If anyone knows what the actual cause was, I'm still curious, but for now the problem is gone.




回答3:


You could install tools like dig inside the docker image to alanyse the issue.

use static hosts in your /etc/hosts file te make apt-get run inside the docker image. add these lines to your hosts file:

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


来源:https://stackoverflow.com/questions/29266560/docker-container-can-reach-dns-but-not-resolve-hosts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!