Appearance
镜像加速配置
由于网络原因,从 Docker Hub 拉取镜像速度较慢,配置镜像加速器可以显著提升下载速度。
可用的镜像加速地址
| 加速器 | 地址 | 说明 |
|---|---|---|
| DaoCloud | https://docker.m.daocloud.io | 稳定,推荐 |
| 网易云 | https://hub-mirror.c.163.com | 较稳定 |
| 阿里云 | 需要登录获取专属地址 | 稳定,需注册 |
| 腾讯云 | https://mirror.ccs.tencentyun.com | 腾讯云内网免费 |
注意:部分镜像加速器会不定期失效,可配置多个作为备用。阿里云镜像加速需前往 阿里云容器镜像服务 登录获取个人专属加速地址。
Linux 配置方法
编辑 /etc/docker/daemon.json(如文件不存在则创建):
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://hub-mirror.c.163.com"
]
}
EOF
# 重启 Docker 使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker验证配置是否生效:
bash
docker info | grep -A 5 "Registry Mirrors"Docker Desktop 配置方法
Windows / macOS
- 打开 Docker Desktop
- 点击右上角齿轮图标 → Docker Engine
- 在 JSON 配置中添加
registry-mirrors:
json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false
}- 点击 Apply & restart
获取阿里云专属镜像加速
- 登录 阿里云容器镜像服务
- 在左侧菜单选择 镜像工具 → 镜像加速器
- 复制专属加速器地址(格式:
https://xxxx.mirror.aliyuncs.com)
bash
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://你的专属ID.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker验证加速效果
bash
# 拉取一个镜像测试速度
time docker pull nginx:alpine
# 查看镜像拉取来源
docker info | grep "Registry Mirrors" -A 5完整 daemon.json 配置参考
生产环境推荐的完整配置:
json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"data-root": "/var/lib/docker",
"live-restore": true,
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5
}| 配置项 | 说明 |
|---|---|
registry-mirrors | 镜像加速地址列表 |
log-driver | 日志驱动,推荐 json-file |
log-opts | 日志选项,限制单个日志文件大小和数量 |
storage-driver | 存储驱动,推荐 overlay2 |
live-restore | 守护进程重启时保持容器运行 |
max-concurrent-downloads | 最大并发下载数 |
常见问题
配置后速度没有变化
- 确认
daemon.json语法正确(有效的 JSON) - 确认执行了
systemctl daemon-reload && systemctl restart docker - 尝试换一个加速地址
bash
# 验证 JSON 语法
python3 -m json.tool /etc/docker/daemon.json部分镜像无法加速
镜像加速器只加速 Docker Hub 的镜像,其他仓库(如 gcr.io、ghcr.io)需要单独配置代理或使用对应的国内镜像站。
bash
# 例如使用 DaoCloud 的 gcr.io 代理
docker pull gcr.m.daocloud.io/google-containers/pause:3.1daemon.json 配置错误导致 Docker 无法启动
bash
# 查看详细错误信息
sudo journalctl -u docker.service -n 50
# 或
sudo dockerd --debug
# 临时备份并删除错误配置
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
sudo systemctl start docker总结
配置镜像加速是国内使用 Docker 的必备操作,可以将镜像拉取速度从几 KB/s 提升到几 MB/s 甚至更高。推荐配置多个加速地址作为备用,并设置合理的日志大小限制。