Author Archives: Ulysses Souza
Author Archives: Ulysses Souza
One of the most requested features for the docker-compose tool is definitely support for building using Buildkit which is an alternative builder with great capabilities, like caching, concurrency and ability to use custom BuildKit front-ends just to mention a few… Ahhh with a nice blue output! And the good news is that Docker Compose 1.25.1 – that was just released early January – includes BuildKit support!
BuildKit support for Docker Compose is actually achieved by redirecting the docker-compose build to the Docker CLI with a limited feature set.
To enable this, we have to align some stars.
First, it requires that the Docker CLI binary present in your PATH:
$ which
docker/usr/local/bin/docker
Second, docker-compose has to be run with the environment variable COMPOSE_DOCKER_CLI_BUILD
set to 1 like in:
$ COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build
This instruction tells docker-compose to use the Docker CLI when executing a build. You should see the same build output, but starting with the experimental warning.
As docker-compose passes its environment variables to the Docker CLI, we can also tell the CLI to use BuildKit instead of the default builder. To accomplish that, we can execute this:
$ COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build