📦 原理說明:什么是“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/
如果有,說明配置成功!