服务器
这篇文章将为大家详细讲解有关如何解决docker容器无法ping外网的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
今天在docker搭建redis环境的时候,发现yum拉取不到资源,上不到网,报了如下错误:
http://mirrors.aliyun.com/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.aliyun.com'”
Trying other mirror.
http://mirrors.neusoft.edu.cn/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.neusoft.edu.cn'”
Trying other mirror.
http://mirrors.nwsuaf.edu.cn/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.nwsuaf.edu.cn'”
Trying other mirror.
http://mirrors.shu.edu.cn/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.shu.edu.cn'”
Trying other mirror.
http://mirrors.sohu.com/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.sohu.com'”
Trying other mirror.
http://mirrors.tuna.tsinghua.edu.cn/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.tuna.tsinghua.edu.cn'”
Trying other mirror.
http://mirrors.zju.edu.cn/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [Errno 14] PYCURL ERROR 6 – “Couldn’t resolve host ‘mirrors.zju.edu.cn'”
Trying other mirror.
测试wget
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
结果报错
unknown host mirrors.163.com
测试ping
在容器内部
ping www.baidu.com
结果还是失败
ping: unknown host www.baidu.com
多开一个终端,进入主机(不是进入容器),进行ping命令测试发现是OK的,基本可以确定是docker的问题了,而不是网络问题
解决方法
停止所有容器,重启docker
service docker restart
内容扩展
Docker容器内不能联网的6种解决方案
1.使用–net:host选项
2.使用–dns选项
3.改dns server
4.不用dnsmasq
5.重建docker0网络
6.直接在docker内修改/etc/hosts
关于“如何解决docker容器无法ping外网的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。