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,当然用nanomidnight 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 相关问题,也随时来问我哦~

相关推荐
brzhang9 分钟前
代码即图表:dbdiagram.io让数据库建模变得简单高效
前端·后端·架构
Jamesvalley14 分钟前
【Django】新增字段后兼容旧接口 This field is required
后端·python·django
秋野酱26 分钟前
基于 Spring Boot 的银行柜台管理系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
獨枭1 小时前
Spring Boot 连接 Microsoft SQL Server 实现登录验证
spring boot·后端·microsoft
shanzhizi1 小时前
springboot入门-controller层
java·spring boot·后端
竹木一5402 小时前
Docker拉取镜像代理配置实践与经验分享
经验分享·docker·容器
小余吃大鱼2 小时前
CentOS中在线安装Docker(超详细)
linux·docker·centos
电商api接口开发2 小时前
ASP.NET MVC 入门指南三
后端·asp.net·mvc
声声codeGrandMaster2 小时前
django之账号管理功能
数据库·后端·python·django
我的golang之路果然有问题2 小时前
案例速成GO+redis 个人笔记
经验分享·redis·笔记·后端·学习·golang·go