如何让 Docker Compose 本地缓存导出工作?

问题描述 投票:0回答:1

我尝试在本地位置缓存 docker compose 构建。 由于某种原因,docker compose 未使用

docker-container
驱动程序,并且本地缓存导出失败并显示错误消息:

docker 驱动程序当前不支持缓存导出功能。请切换到不同的驱动程序(例如“docker buildx create --use”)。

我当前的设置如下所示:

docker-compose.yml

name: "dev"
services:
  my-service:
    build:
      context: .
      target: development
      dockerfile: Dockerfile
      cache_from:
        - type=local,src=./.docker-cache/
      cache_to:
        - type=local,dest=./.docker-cache/,mode=max

然后我运行这些命令:

  • docker context create tls-environment
  • docker buildx create --name multiarch-builder --driver docker-container --use tls-environment --use
  • docker compose build
    <-- errors

我希望没有错误并成功创建

.docker-cache
文件夹。

这在我的本地设置上运行得很好。但在 Gitlab Pipeline 中失败了。 我错过了什么?

docker docker-compose dockerfile gitlab-ci devops
1个回答
0
投票

我对 GitLab 不太了解,但我认为你需要设置你的环境,以便它知道如何处理缓存。看看这个 GitHub 管道配置(以及操作本身):

- name: Set up Docker Buildx for cache
  uses: docker/setup-buildx-action@v3

- name: Expose GitHub Runtime for cache
  uses: crazy-max/ghaction-github-runtime@v3

查看 https://docs.docker.com/build/cache/backends/gha/#authentication 了解更多信息

© www.soinside.com 2019 - 2024. All rights reserved.