本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Buildkit Cache Repository 镜像是一个基于 Buildkit 的缓存服务镜像,专为 GitHub Actions 环境设计,用于存储和管理 Docker 构建过程中的中间层缓存。通过持久化构建缓存,该镜像可有效减少重复构建步骤(如依赖下载、编译过程等)的执行频率,显著提升 GitHub Actions 中 Docker 镜像构建的效率。
min/max)、有效期设置,平衡缓存效率与存储占用。通过 docker run 命令直接启动缓存服务,默认使用本地文件系统存储缓存:
docker run -d \ --name buildkit-cache \ -v /path/to/local/cache:/cache \ # 本地缓存目录挂载(持久化缓存) -e BUILDKIT_CACHE_REPO=local:///cache \ # 缓存仓库地址(本地路径) -e CACHE_MODE=max \ # 缓存模式(max:保留所有层;min:仅保留最终层) -p 8080:8080 \ # 可选:暴露缓存服务端口(如需远程访问) myregistry/buildkit-cache-repo:latest
在 GitHub Actions 工作流中,通过卷挂载或服务依赖方式集成缓存服务,以下为典型 workflow 配置:
# .github/workflows/build.yml name: Build Docker Image with Cache on: [push, pull_request] jobs: build: runs-on: ubuntu-latest services: buildkit-cache: image: myregistry/buildkit-cache-repo:latest volumes: - buildkit-cache-volume:/cache # 使用命名卷持久化缓存 env: BUILDKIT_CACHE_REPO: local:///cache CACHE_MODE: max steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: driver-opts: | image=myregistry/buildkit-cache-repo:latest cache-repo=local:///cache # 指向缓存服务的本地路径(需与服务卷一致) - name: Build and push uses: docker/build-push-action@v5 with: context: . push: false cache-from: type=registry,ref=local:///cache # 从缓存仓库拉取缓存 cache-to: type=registry,ref=local:///cache,mode=max # 推送缓存到仓库 volumes: buildkit-cache-volume: # 命名卷用于跨 job 持久化缓存(GitHub Actions 中卷生命周期与 runner 一致)
通过 docker-compose.yml 定义缓存服务及构建环境,适用于本地开发或自托管 CI 环境:
# docker-compose.yml version: '3.8' services: buildkit-cache: image: myregistry/buildkit-cache-repo:latest volumes: - ./buildkit-cache:/cache # 本地目录挂载(相对路径) environment: - BUILDKIT_CACHE_REPO=local:///cache - CACHE_MODE=max - CACHE_TTL=7d # 缓存有效期(默认无限制,可选:7d=7天,30m=30分钟) restart: unless-stopped builder: image: docker:dind depends_on: - buildkit-cache volumes: - /var/run/docker.sock:/var/run/docker.sock - ./:/app # 项目代码挂载 environment: - DOCKER_BUILDKIT=1 # 启用 Buildkit - BUILDKIT_CACHE_REPO=local:///cache # 指向缓存服务的缓存目录 command: sh -c "cd /app && docker build --cache-from=type=registry,ref=local:///cache --cache-to=type=registry,ref=local:///cache,mode=max -t myapp:latest ."
| 参数名 | 描述 | 默认值 | 示例 |
|---|---|---|---|
BUILDKIT_CACHE_REPO | 缓存仓库地址,格式:存储类型://路径 | local:///cache | s3://my-bucket/buildkit-cache(S3 存储) |
CACHE_MODE | 缓存模式:min(仅保留最终层)、max(保留所有中间层) | max | min |
STORAGE_BACKEND | 存储后端类型:local(本地文件)、s3(S3 兼容对象存储)、nfs(NFS) | local | s3 |
CACHE_TTL | 缓存有效期,超过时间的缓存将被清理(格式:30m/2h/7d) | 不限制 | 7d |
S3_ENDPOINT | S3 存储后端地址(当 STORAGE_BACKEND=s3 时必填) | - | [***] |
S3_ACCESS_KEY | S3 访问密钥(当 STORAGE_BACKEND=s3 时必填) | - | AKIAEXAMPLE |
S3_SECRET_KEY | S3 密钥(当 STORAGE_BACKEND=s3 时必填) | - | secret123 |
| 挂载路径 | 描述 | 建议配置 |
|---|---|---|
/cache | 本地缓存存储目录(默认) | 挂载宿主机目录或命名卷,确保缓存持久化 |
/etc/buildkit | Buildkit 配置文件目录 | 如需自定义 Buildkit 配置(如镜像仓库认证),可挂载本地配置文件 |
CACHE_TTL,缓存将持续累积,建议定期清理过期缓存或配置自动清理策略(如通过 cron 任务)。max 模式缓存体积较大),确保存储后端有足够容量。docker buildx 启用)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429