0
0
DockerHow-ToBeginner · 3 min read

How to Use Docker BuildKit for Faster, Efficient Builds

To use docker buildkit, enable it by setting the environment variable DOCKER_BUILDKIT=1 before running docker build. BuildKit improves build speed and caching by running builds with docker build while BuildKit is active.
📐

Syntax

The basic syntax to use Docker BuildKit is to enable it via an environment variable and then run the usual docker build command.

  • DOCKER_BUILDKIT=1: Enables BuildKit for the build.
  • docker build [OPTIONS] PATH: Builds the Docker image from the specified path.
bash
DOCKER_BUILDKIT=1 docker build -t your-image-name .
💻

Example

This example shows how to enable BuildKit and build a simple Docker image from a Dockerfile in the current directory.

bash
DOCKER_BUILDKIT=1 docker build -t hello-buildkit .
Output
[+] Building 3.0s (7/7) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 37B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/alpine:latest 1.0s => [1/3] FROM docker.io/library/alpine:latest 1.0s => [2/3] RUN echo 'Hello from BuildKit!' 0.5s => [3/3] CMD ["/bin/sh"] 0.5s => exporting to image 0.0s => => exporting layers 0.0s => => writing image sha256:abcdef1234567890 0.0s Successfully built abcdef1234567890 Successfully tagged hello-buildkit:latest
⚠️

Common Pitfalls

Common mistakes when using Docker BuildKit include:

  • Not enabling BuildKit by forgetting DOCKER_BUILDKIT=1.
  • Using older Docker versions that do not support BuildKit (requires Docker 18.09+).
  • Expecting BuildKit features without enabling it explicitly.

Always check your Docker version and enable BuildKit before building.

bash
docker build -t image-name .  # Without BuildKit enabled

# Correct way:
DOCKER_BUILDKIT=1 docker build -t image-name .
📊

Quick Reference

CommandDescription
DOCKER_BUILDKIT=1 docker build -t image-name .Build image with BuildKit enabled
docker build -t image-name .Build image without BuildKit (legacy)
docker build --progress=plainShow detailed build output with BuildKit
docker build --no-cacheBuild without using cache, works with BuildKit

Key Takeaways

Enable BuildKit by setting DOCKER_BUILDKIT=1 before docker build.
BuildKit requires Docker version 18.09 or newer.
BuildKit speeds up builds and improves caching efficiency.
Use --progress=plain to see detailed build logs with BuildKit.
Without enabling, docker build uses the older build engine.