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 buildon 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.
🔗