BuildKit

BuildKit is the modern build backend for Docker and the OCI ecosystem. It replaces the original Docker builder with a concurrent, cache-aware engine that builds OCI images from Dockerfiles much faster and with finer control.

Key capabilities

  • Parallel build graph. Independent stages and instructions run concurrently rather than strictly top-to-bottom.
  • Granular caching. Layer caches keyed on instruction content; remote caches that can be pushed to and pulled from a registry.
  • Cache mounts. Per-step caches for package managers (pip, npm, apt, Go modules) that persist between builds without bloating image layers.
  • Secret and SSH mounts. Inject secrets at build time without baking them into layers.
  • Multi-platform builds. Build for amd64, arm64, and others from a single host via QEMU emulation.
  • Frontend pluggability. Dockerfile is one frontend; others (Buildpacks, Nix-based) can target BuildKit.

How it is used

  • Docker. BuildKit is the default builder for docker build on modern installations.
  • buildx. Docker CLI plugin that exposes BuildKit's multi-platform and remote-cache features.
  • Standalone. BuildKit can run as a remote build service for CI to share caches across runners.
🔗
Related Terms
Docker, OCI, Image Layer, CI/CD.

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon