Как включить BuildKit с помощью docker-compose?

9

Я попытался export DOCKER_BUILDKIT=1до docker-compose buildкоманды, и я не увидел ожидаемый результат BuildKit. Как я скучал?

Архимед Траяно
источник

Ответы:

16

Поддержка BuildKit была только что выпущена в docker-compose 1.25.0 . Включить:

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

С этими переменными, установленными в вашей оболочке, теперь вы можете запускать docker-compose buildс помощью BuildKit.

BMitch
источник
0

Вы можете использовать эту команду, чтобы указать docker-compose использовать CLI Docker при выполнении сборки.

COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build

Вы должны увидеть ту же сборку, что и обычно, но с этим предупреждением:

ВНИМАНИЕ: Собственная сборка является экспериментальной функцией и может измениться в любое время.

И вы можете пойти так, чтобы параметризовать интерфейс командной строки для использования 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/

veben
источник