如何使用 docker-compose 启用 BuildKit?

How do you enable BuildKit with docker-compose?

我在 docker-compose build 命令之前尝试了 export DOCKER_BUILDKIT=1,但没有看到预期的 BuildKit 输出。我错过了什么?

docker-compose 1.25.0 刚刚发布了对 BuildKit 的支持。启用:

export DOCKER_BUILDKIT=1 # or configure in daemon.json
export COMPOSE_DOCKER_CLI_BUILD=1

在 shell 中设置这些变量后,您现在可以 运行 docker-compose build 使用 BuildKit。

在windows你可以在你的控制台执行:

setx DOCKER_BUILDKIT 1 # or configure in daemon.json
setx COMPOSE_DOCKER_CLI_BUILD 1

之后需要重新启动您的控制台

您可以使用此命令告诉 docker-compose 在执行时使用 Docker CLI一个版本。

COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build

您应该会看到与往常一样的构建,但会出现以下警告:

WARNING: Native build is an experimental feature and could change at any time

您可以像那样对 CLI 进行参数化以使用 BuildKit 而不是默认构建器:

COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build

Windows版本:

set "COMPOSE_DOCKER_CLI_BUILD=1" & set "DOCKER_BUILDKIT=1" & docker-compose build

您还可以全局启用 BuildKit,编辑 /etc/docker/daemon.json 文件,添加:

{ "features": { "buildkit": true } }

更多信息:https://docs.docker.com/develop/develop-images/build_enhancements/