问题
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:
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 inping: unknown host www.google.com
both with and without the--dns
flag.I can reach 8.8.8.8 both from inside and outside the containers.
docker run -it ubuntu ping 8.8.8.8
works.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 addDOCKER_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.ip_forward
is enabled. (see here)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