Docker 镜像下载太慢?手把手教你修改镜像源,速度起飞!

宝子们,有没有在使用 Docker 时,被镜像下载速度气到抓狂?每次执行docker pull,进度条就像蜗牛在爬,甚至动不动就超时失败,这体验简直让人 emo!别慌,今天就带大家解锁一个超实用技能 ------ 修改 Docker 镜像源,让你的镜像下载速度直接起飞!

为啥一定要改镜像源?

Docker 默认用的是国外官方源,咱们国内网络访问,那延迟高得离谱,就像隔着千山万水。打个比方,这就好比你在国内点一份国外的外卖,配送时间自然长到让人崩溃。但只要切换到国内镜像源,情况立马不一样,镜像拉取速度平均能提升 5 - 10 倍,以后再也不用半夜守着电脑等镜像下载啦!不管你是 Docker 新手小白,还是运维、开发大佬,只要网络环境不太给力,都赶紧跟着我学起来!

镜像源怎么选?这份清单收好!

选对镜像源,就成功了一半。给大家整理了国内主流镜像源的对比,还附上了超实用的测速技巧:

镜像源 优势 推荐指数 适用场景
阿里云 稳定高速,需注册获取专属地址 ⭐⭐⭐⭐⭐ 生产环境 / 企业级应用
网易 无需注册,直接可用 ⭐⭐⭐⭐ 个人开发者 / 快速测试
中科大 学术资源丰富 ⭐⭐⭐⭐ 开源项目 / 技术研究
Docker 官方中国区 最接近原版,兼容性最佳 ⭐⭐⭐⭐ 复杂镜像环境

重点说下阿里云专属镜像源的获取方法,超简单:

  1. 登录阿里云容器镜像服务;
  2. 点击「镜像加速」,就能拿到专属加速地址,像https://xxx.mirror.aliyuncs.com这种,赶紧复制存好,后面要用!

实战操作!3 分钟搞定镜像源修改

Linux 系统(CentOS/Ubuntu 通用)

  1. 创建 / 编辑配置文件 :
    先执行sudo mkdir -p /etc/docker,这一步是创建配置目录,防止文件不存在。然后用sudo vi /etc/docker/daemon.json打开配置文件,推荐用vi,当然用nano、midnight commander也完全没问题。
  2. 写入镜像源配置 :
    把下面这段复制进去,支持多源轮询哦:
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 校验工具检查一下。

  1. 生效配置 :

分两步走,先执行sudo systemctl daemon-reload,重新加载系统服务配置;再执行sudo systemctl restart docker,重启 Docker 服务,搞定!

Windows 系统(Docker Desktop 用户集合!)

  1. 打开 Docker 配置界面 :
    右键任务栏 Docker 图标,点击 "Settings",然后进入 "Docker Engine" 选项卡,要是没找到,可能需要先点击左侧 "Advanced"。
  2. 粘贴镜像源配置 :
    在 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",
        ""
    ]
}
  1. 应用并重启 :
    点击右下角 "Apply & Restart",坐等 Docker 自动重启,大概 30 秒左右,就大功告成啦!

3 步验证修改是否成功

改完可别急着走,3 步验证一下,避免无效操作:

  1. 查看配置是否生效 :
    执行docker info,在输出里搜索 "Registry Mirrors",核对地址是不是你刚配置的。
  2. 实测镜像拉取速度 :
    执行time docker pull ubuntu:latest,记录一下耗时,和修改前对比,正常情况下至少快 3 倍以上,要是没变化,那肯定是哪里出问题了!
  3. 极端场景测试(可选) :
    断开科学上网工具,尝试拉取冷门镜像,比如docker pull elasticsearch:8.0,看看能不能稳定下载。

避坑指南!90% 的人都会遇到的问题

Docker 服务重启失败

常见原因有两个:一是daemon.json语法错误,二是权限问题。语法错误就用前面说的JSON 校验工具检查;权限问题执行sudo chmod 600 /etc/docker/daemon.json就能修复。要是实在搞不定,终极方案就是删除配置文件恢复默认源,执行sudo rm /etc/docker/daemon.json。

镜像源突然失效

遇到这种情况别慌,教你几招:

  1. 提前准备备用源清单,多配置几个不同服务商的镜像源,来个轮换;
  2. 定期检查镜像源状态,收藏镜像源监控页面,随时掌握动态;
  3. 临时拉取指定源,比如docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx。

Windows 下找不到 Docker 配置文件

Docker Desktop 的配置文件路径可能会变,旧版本在C:\Users\你的用户名\.docker\config.json ,新版本就老老实实通过设置界面修改,直接编辑文件很容易出格式错误,别给自己找麻烦!

宝子们,关于 Docker 修改镜像源的干货都倾囊相授啦!要是你在修改过程中遇到过奇葩问题,或者有私藏的宝藏镜像源,欢迎在评论区留言分享!觉得这篇文章有用,别忘了点赞、收藏、转发,让更多小伙伴告别镜像下载慢的烦恼!要是还有其他 Docker 相关问题,也随时来问我哦~

相关推荐
系统集成-鹰翔几秒前
ERP单据已作废为什么商品仍不能删除,引用检查与软删除怎么查
javascript·经验分享·后端
Moment4 分钟前
Harness Engineering 为什么是 AI Coding 的工程底座 ❓❓❓
前端·后端·面试
mldong32 分钟前
主办先挂起,收齐意见再拍板:jeeflow 的动态会签
后端·架构
CQU_JIAKE8 小时前
11.7[高体】
java·后端·spring
Csvn9 小时前
认识 Nginx
后端·nginx
红尘散仙9 小时前
谁说终端只能敲键盘?我用 Rust 给小说阅读器加上了鼠标
前端·后端·rust
特立独行的猫A10 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
陈随易10 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
金銀銅鐵11 小时前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
IT_陈寒14 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端