Docker 镜像加速与构建缓存优化2026-05
设置作用推荐值加速国内镜像站地址自动清理构建缓存true缓存保留上限这套配置在“速度”和“磁盘空间”之间取得了较好的平衡,尤其适合日常开发、CI 环境和个人服务器。现在就去修改你的 Docker Engine 配置,享受丝滑的镜像拉取和自动化的磁盘管理吧!🚀附:Docker Desktop 界面中的 “Engine running” 状态显示当前守护进程正常,RAM/CPU/Disk 占用可供参
Docker 镜像加速与构建缓存优化:国内实战配置
在使用 Docker 进行开发或部署时,国内用户最常遇到的两个痛点:拉取镜像慢(尤其是 Docker Hub)和 构建缓存占满磁盘。
本文分享一套经过验证的 Docker Engine 配置,既能显著提速镜像拉取,又能自动控制缓存占用空间。
一、最终配置(JSON)
将以下内容写入 Docker Engine 的 daemon.json(通过 Docker Desktop 的 “Docker Engine” 界面或服务器的 /etc/docker/daemon.json):
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}

二、配置解读
1. 镜像加速(registry-mirrors)
https://docker.1ms.runhttps://docker.xuanyuan.me
这两个是国内可用的 Docker Hub 镜像站。当你执行 docker pull 时,Docker 会优先从这些镜像站拉取,速度通常比直接从 Docker Hub 快数倍甚至数十倍。
⚠️ 镜像站属于第三方服务,生产环境建议自建或使用阿里云/腾讯云等提供的稳定镜像加速地址。
2. 构建缓存自动清理(builder.gc)
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
enabled: true:开启 BuildKit 的自动垃圾回收。defaultKeepStorage: "20GB":当 Docker 构建缓存(/var/lib/docker中的 buildkit 数据)超过 20GB 时,自动删除最旧的未使用的缓存。
效果:你再也不用手动执行 docker builder prune 或担心磁盘被缓存占满。只要磁盘总使用量(不只缓存)达到某个阈值,GC 就会自动工作。
3. 关闭实验特性(experimental: false)
保持稳定,避免不必要的特性干扰。
三、如何应用配置
如果你使用 Docker Desktop(Windows / Mac)
- 点击系统托盘中的 Docker 图标 → Settings
- 左侧选择 Docker Engine
- 将上面的 JSON 粘贴进去(替换原有内容)
- 点击右下角 Apply & Restart
截图中的界面正是 Docker Desktop 的 “Engine” 配置页。
如果你使用 Linux 服务器
sudo vi /etc/docker/daemon.json
# 粘贴上述 JSON
sudo systemctl restart docker
四、验证配置生效
检查镜像加速器
docker info | grep -A 5 "Registry Mirrors"
应该看到你配置的两个地址。
检查 GC 配置
docker buildx inspect --bootstrap | grep -A 10 "GC"
会输出类似:
GC:
Enabled: true
DefaultKeepStorage: 20GB
五、常见问题
Q:这两个镜像站稳定吗?
A:它们是社区维护的公开镜像站,通常可用,但建议持续关注。如果你在企业内部,更应该使用阿里云、华为云等官方加速器(需注册,免费)。
Q:20GB 的缓存保留阈值够用吗?
A:对于大多数开发场景(单个项目 ≤ 10GB 缓存)足够。如果你频繁构建多个大型项目(如 Android 镜像、深度学习环境),可调整为 "40GB"。
Q:开启 GC 后数据会丢失吗?
A:只删除构建缓存(docker build 产生的中间层),不会影响已拉取的镜像、运行中的容器、卷或网络。
六、总结
| 设置 | 作用 | 推荐值 |
|---|---|---|
registry-mirrors |
加速 docker pull |
国内镜像站地址 |
builder.gc.enabled |
自动清理构建缓存 | true |
builder.gc.defaultKeepStorage |
缓存保留上限 | 20GB ~ 50GB |
这套配置在 “速度” 和 “磁盘空间” 之间取得了较好的平衡,尤其适合日常开发、CI 环境和个人服务器。
现在就去修改你的 Docker Engine 配置,享受丝滑的镜像拉取和自动化的磁盘管理吧! 🚀
附:Docker Desktop 界面中的 “Engine running” 状态显示当前守护进程正常,RAM/CPU/Disk 占用可供参考。
如果你对 BuildKit GC 的更高级策略(比如按缓存类型设置保留时间)感兴趣,欢迎留言交流。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)