首页/开发/CI/CD 与发布速查/BuildKit 缓存导出与复用
构建与制品管理58 条

BuildKit 缓存导出与复用

把构建缓存导出到镜像仓库或共享后端(--cache-to/--cache-from):换机器、换流水线也能吃到缓存,构建显著提速。

CI/CD 与发布速查开发更新于 2026-10-12
方式registry 缓存(mode=max 含中间层)、inline(随镜像附带,能力有限)、CI 平台缓存后端
命令docker buildx build --cache-from type=registry,ref=... --cache-to type=registry,ref=...,mode=max
平台GitHub Actions 可用 --cache-to type=gha

registry 缓存

registry 缓存
docker buildx build \
  --cache-from type=registry,ref=registry.example.com/app:buildcache \
  --cache-to type=registry,ref=registry.example.com/app:buildcache,mode=max \
  -t registry.example.com/app:1.8.0 --push .
缓存导出体积可观:registry 侧为缓存镜像设置独立的清理策略。

易错点

  • mode=min 的缓存缺中间层:复杂多阶段构建命中率低,按需改 max
  • 缓存与制品共用同一 tag:清理策略混淆,使用独立命名空间

数据来源与参考

  • Docker Docs《Build cache》
  • Buildx 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌