Docker Hub 镜像 Pull 失败的解决方案
目录
- 引言
- 一、问题
- 二、原因
- 三、解决方法
- 四、参考文献
引言
在云原生技术火热的当下,Docker可谓是其基础,由于其简单以及方便性,让开发人员不必再为环境配置问题而伤脑筋,因为可将其看作一个虚拟机程序去理解。所以掌握好它可谓是很重要的事情,本文章将解决作者使用Docker时,遇到的一个基础问题,这也是困扰了很多人的问题,在此写篇文章分享给大家。
一、问题
在Ubuntu Linux环境下,docker pull ubuntu:20.04
会报错或卡住(或其它镜像),没办法从Docker Hub
下载镜像。
二、原因
-
网络限制:Docker Hub 的服务器位于国外(registry-1.docker.io),某些地区可能因网络策略(如防火墙、国际带宽限制)导致连接超时或阻断。
-
DNS 污染:部分网络环境中,Docker Hub 的域名解析可能被干扰,无法获取正确的 IP 地址。
-
下载速度慢:即使能连接,国际带宽的延迟和限速也会导致下载耗时过长甚至失败。
三、解决方法
概括
:配置国内镜像加速器
-
vim /etc/docker/daemon.json
,没有则自行创建 -
将下面文本覆盖到上述文件中
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
-
重新加载docker配置文件
systemctl daemon-reload
-
重启docker服务
systemctl restart docker.service
四、参考文献
- 链接:来自“桂花煮柚子”同学的评论