Docker 容器内部 DNS 解析失败的问题

上段时间遇到了 docker 容器内部 dns 解析失败的问题,发现在 docker-compose 启动容器之后,容器内部访问外部的接口总是提示无法解析 dns

docker exec -it contaner_name bash 进去,ping 任何域名都是不通。

最终解决是这个 issue 帖子。

https://github.com/docker/docker/issues/13381

最终的解决办法在在于,停止 docker daemon,删掉 ifconfig 查到的 docker0 这个 bridge,再重新启动 docker daemon,问题解决:

官方的解决脚本是这样的:

$ sudo apt-get install bridge-utils -y
$ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
$ sudo service docker start
$ docker network inspect bridge

实际上我做了这一步就成功了:

$ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo service docker start

当然,我还需要 docker-compose up -d 启用我原来的容器。


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2016/05/docker-dns-fail.html【Docker 容器内部 DNS 解析失败的问题】

发表评论

电子邮件地址不会被公开。 必填项已用*标注