我在运行 docker 容器时遇到了一个有趣的问题:出乎意料的是,我无法从容器内解析 DNS。
这是一个纲要:
什么都解决不了;apt-get、pip、一次性 ping 容器等。运行
docker run -it --dns=8.8.8.8 ubuntu ping www.google.com
结果有带标志ping: unknown host www.google.com
和不带--dns
标志。我可以从容器内部和外部到达 8.8.8.8。
docker run -it ubuntu ping 8.8.8.8
作品。/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
在每次更改之间运行。ip_forward
已启用。(见这里)我已经按照此处的说明进行了完全重置。
我正在运行 Fedora 21,docker 客户端版本 1.5.0。
有任何想法吗?我完全不知道是什么阻止了 docker 成功访问 Internet。