📦 原理说明:什么是“Docker 镜像加速器”?
Docker 默认会从官方仓库 registry-1.docker.io
拉取镜像。由于网络原因,在中国大陆访问这个地址较慢甚至失败。
镜像加速器的作用是:
- 在国内部署一个缓存服务器;
- 所有对
docker.io
的请求都先走这个缓存; - 提高拉取速度,避免被墙或超时;
常见镜像加速器包括:
提供商 | 示例地址 |
---|---|
阿里云 | https://xxxxxx.mirror.aliyuncs.com |
DaoCloud | https://www.daocloud.io/mirror#accelerator-doc |
腾讯云 | https://mirror.ccs.tencentyun.com |
网易云 | https://hub-mirror.c.163.com |
🛠️ 正确配置 Docker 国内镜像的方法
你需要修改的是 Docker Daemon 的配置文件,而不是 Dockerfile
。
✅ 步骤一:编辑 Docker Daemon 配置文件
sudo nano /etc/docker/daemon.json
如果文件不存在,就新建一个。
✅ 步骤二:添加 registry-mirrors 配置
使用阿里云镜像加速器地址,这里的xxxxxx需要修改为你的阿里云id:
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
👉 如何获得阿里云id
1️⃣首先,登录阿里云容器镜像服务控制台
阿里云容器控制台地址
2️⃣然后,按照步骤,创建个人版实例,创建后如下图
3️⃣ 进入个人版实例,找到实例ID
4️⃣ 替换掉镜像地址中的xxxxxx
5️⃣ 修改后,按照下面的步骤三执行就可以了。
实测以下地址在阿里云服务器中无效:
{"registry-mirrors": ["https://registry.docker-cn.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
✅ 步骤三:重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
✅ 步骤四:验证是否生效
docker info
查找输出中是否有:
Registry Mirrors:https://xxxxxx.mirror.aliyuncs.com/
如果有,说明配置成功!