我尝试在本地位置缓存 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 中失败了。 我错过了什么?
我对 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 了解更多信息