宝子们,有没有在使用 Docker 时,被镜像下载速度气到抓狂?每次执行docker pull
,进度条就像蜗牛在爬,甚至动不动就超时失败,这体验简直让人 emo!别慌,今天就带大家解锁一个超实用技能 ------ 修改 Docker 镜像源,让你的镜像下载速度直接起飞!
为啥一定要改镜像源?
Docker 默认用的是国外官方源,咱们国内网络访问,那延迟高得离谱,就像隔着千山万水。打个比方,这就好比你在国内点一份国外的外卖,配送时间自然长到让人崩溃。但只要切换到国内镜像源,情况立马不一样,镜像拉取速度平均能提升 5 - 10 倍,以后再也不用半夜守着电脑等镜像下载啦!不管你是 Docker 新手小白,还是运维、开发大佬,只要网络环境不太给力,都赶紧跟着我学起来!
镜像源怎么选?这份清单收好!
选对镜像源,就成功了一半。给大家整理了国内主流镜像源的对比,还附上了超实用的测速技巧:
镜像源 | 优势 | 推荐指数 | 适用场景 |
---|---|---|---|
阿里云 | 稳定高速,需注册获取专属地址 | ⭐⭐⭐⭐⭐ | 生产环境 / 企业级应用 |
网易 | 无需注册,直接可用 | ⭐⭐⭐⭐ | 个人开发者 / 快速测试 |
中科大 | 学术资源丰富 | ⭐⭐⭐⭐ | 开源项目 / 技术研究 |
Docker 官方中国区 | 最接近原版,兼容性最佳 | ⭐⭐⭐⭐ | 复杂镜像环境 |
重点说下阿里云专属镜像源的获取方法,超简单:
- 登录阿里云容器镜像服务;
- 点击「镜像加速」,就能拿到专属加速地址,像
https://xxx.mirror.aliyuncs.com
这种,赶紧复制存好,后面要用!
实战操作!3 分钟搞定镜像源修改
Linux 系统(CentOS/Ubuntu 通用)
- 创建 / 编辑配置文件 :
先执行sudo mkdir -p /etc/docker
,这一步是创建配置目录,防止文件不存在。然后用sudo vi /etc/docker/daemon.json
打开配置文件,推荐用vi
,当然用nano
、midnight commander
也完全没问题。 - 写入镜像源配置 :
把下面这段复制进去,支持多源轮询哦:
bash
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://xxxxxx.mirror.aliyuncs.com", // 阿里云 必加!建议放第一个
"http://hub-mirror.c.163.com", // 网易源作为备用
"https://docker.mirrors.ustc.edu.cn" // 中科大源备用
"https://dockerpull.com",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.awsl9527.cn",
""
]
}
EOF
这里一定要注意,JSON 格式必须严格检查!一个逗号、括号用错,Docker 都启动不起来,血的教训啊!要是不确定格式对不对,推荐用JSON 校验工具检查一下。
- 生效配置 :
分两步走,先执行sudo systemctl daemon-reload
,重新加载系统服务配置;再执行sudo systemctl restart docker
,重启 Docker 服务,搞定!
Windows 系统(Docker Desktop 用户集合!)
- 打开 Docker 配置界面 :
右键任务栏 Docker 图标,点击 "Settings",然后进入 "Docker Engine" 选项卡,要是没找到,可能需要先点击左侧 "Advanced"。 - 粘贴镜像源配置 :
在 JSON 配置区域添加下面这段,覆盖掉原来的registry-mirrors
部分:
bash
{
"registry-mirrors": [
"https://xxxxxx.mirror.aliyuncs.com", // 阿里云 必加!建议放第一个
"http://hub-mirror.c.163.com", // 网易源作为备用
"https://docker.mirrors.ustc.edu.cn" // 中科大源备用
"https://dockerpull.com",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.awsl9527.cn",
""
]
}
- 应用并重启 :
点击右下角 "Apply & Restart",坐等 Docker 自动重启,大概 30 秒左右,就大功告成啦!
3 步验证修改是否成功
改完可别急着走,3 步验证一下,避免无效操作:
- 查看配置是否生效 :
执行docker info
,在输出里搜索 "Registry Mirrors",核对地址是不是你刚配置的。 - 实测镜像拉取速度 :
执行time docker pull ubuntu:latest
,记录一下耗时,和修改前对比,正常情况下至少快 3 倍以上,要是没变化,那肯定是哪里出问题了! - 极端场景测试(可选) :
断开科学上网工具,尝试拉取冷门镜像,比如docker pull elasticsearch:8.0
,看看能不能稳定下载。
避坑指南!90% 的人都会遇到的问题
Docker 服务重启失败
常见原因有两个:一是daemon.json
语法错误,二是权限问题。语法错误就用前面说的JSON 校验工具检查;权限问题执行sudo chmod 600 /etc/docker/daemon.json
就能修复。要是实在搞不定,终极方案就是删除配置文件恢复默认源,执行sudo rm /etc/docker/daemon.json
。
镜像源突然失效
遇到这种情况别慌,教你几招:
- 提前准备备用源清单,多配置几个不同服务商的镜像源,来个轮换;
- 定期检查镜像源状态,收藏镜像源监控页面,随时掌握动态;
- 临时拉取指定源,比如
docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx
。
Windows 下找不到 Docker 配置文件
Docker Desktop 的配置文件路径可能会变,旧版本在C:\Users\你的用户名\.docker\config.json
,新版本就老老实实通过设置界面修改,直接编辑文件很容易出格式错误,别给自己找麻烦!
宝子们,关于 Docker 修改镜像源的干货都倾囊相授啦!要是你在修改过程中遇到过奇葩问题,或者有私藏的宝藏镜像源,欢迎在评论区留言分享!觉得这篇文章有用,别忘了点赞、收藏、转发,让更多小伙伴告别镜像下载慢的烦恼!要是还有其他 Docker 相关问题,也随时来问我哦~