在国内使用 Docker 时,从官方 Docker Hub 拉取镜像,常因网络问题遭遇速度缓慢、超时甚至失败的状况。为解决这一难题,配置国内镜像加速源成为提升镜像拉取效率的有效途径。下面为您详细介绍相关解决方案及可用的镜像加速源。
一、为什么需要镜像加速
Docker Hub 位于国外,国内网络访问存在一定阻碍。较大的镜像文件,如一些包含完整开发环境或大型应用的镜像,大小可达数 GB。在未使用镜像加速的情况下,拉取可能需耗费数小时,甚至因网络不稳定而中断。而配置国内镜像加速源后,镜像拉取速度能大幅提升,原本数小时的拉取时间可缩短至十几分钟甚至更短,极大提升工作效率。
二、常用的中国镜像加速源
1. 毫秒镜像
https://docker.1ms.run
这是当前较为稳定且高效的免费镜像源,采用 Cloudflare 及境内 CDN,拉取速度快。它获得众多厂商认可,如宝塔、IStore、linuxmirrors、爱快等主流服务已将其内置。
2. DaoCloud
https://docker.m.daocloud.io
提供免费镜像加速服务,在国内拥有多个节点,能实现负载均衡,保障拉取速度与稳定性。
3. 南京大学镜像源
https://docker.nju.edu.cn
由高校运维,具有较高稳定性,对于常用基础镜像,可快速拉取。
需注意,镜像源可用性可能随时间变化,建议同时配置多个镜像源,以便自动切换使用。
三、配置镜像加速源的方法
1. Linux 系统(以 Ubuntu 为例)1.创建或编辑配置文件:
Docker配置文件通常为/etc/docker/daemon.json。若该文件不存在,可通过以下命令创建:
sudo mkdir -p /etc/dockersudo nano /etc/docker/daemon.json
2.添加镜像加速源:
在daemon.json文件中,添加或修改registry-mirrors字段,填入镜像加速源地址。若使用多个镜像源,以逗号分隔,示例如下:{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
3.保存并关闭文件:在nano编辑器中,按Ctrl+X,再按Y,最后按Enter保存并退出。4.重启 Docker 服务:使配置生效,执行命令:
sudo systemctl daemon-reloadsudo systemctl restart docker
2. Windows 系统(使用 Docker Desktop)
1.打开 Docker Desktop 设置:右键点击任务栏中的 Docker 图标,选择Settings。2.修改镜像源配置:在弹出窗口中,选择Docker Engine选项卡,在 JSON 配置文件中添加或修改registry-mirrors字段,与 Linux 系统配置内容一致。例如:{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
3.应用并重启:点击Apply & Restart按钮,等待 Docker 重启完成。3. 临时使用镜像源(单次拉取)
无需修改全局配置,在拉取镜像命令中指定镜像源即可。例如,使用毫秒镜像源拉取nginx镜像,命令如下:
docker pull https://docker.1ms.run/library/nginx
四、验证镜像加速是否生效
配置完成后,可通过拉取一个小型镜像,如hello-world,检查速度是否提升来验证。执行命令:
docker pull hello-world
若拉取速度明显加快,说明镜像加速配置成功。也可通过docker info命令查看,在输出信息中,若包含配置的镜像加速源地址,则配置生效。如:
Registry Mirrors:https://docker.1ms.run/https://docker.m.daocloud.io/https://docker.nju.edu.cn/
通过上述配置中国镜像加速源的方法,能显著提升 Docker 镜像拉取速度,改善使用体验,提高开发、测试及运维工作效率。


