BuildKit vs containerd
BuildKit
github.comcontainerd
containerd.ioSide by side
| Figure | BuildKit | containerd |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Container Engines | 8.9 (#2) | 8.0 (#9) |
| Purpose | BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. | containerd is an industry-standard container runtime for managing a host’s container lifecycle, including image transfer and storage, execution, and supervision. |
| Support | The project directs users to the #buildkit channel on Docker Community Slack and to GitHub issues for reporting problems with release binaries. | Nightly builds are available for Linux and Windows, but may contain critical bugs, are not recommended for production, and receive no support. |
Plans
In their own words
BuildKit
BuildKit is a free toolkit for turning source code into build artifacts. It consists of the buildkitd daemon and buildctl client, and uses LLB, a binary format for describing process dependency graphs. Builds can use Dockerfiles or other LLB-compatible frontends, resolve dependencies concurrently, cache instructions, import and export caches, run nested jobs, and collect unused data automatically. BuildKit supports execution without root privileges and OCI (runc) or containerd workers. Results can be exported as images, local directories, tarballs, Docker tarballs, or OCI tarballs. Cache options include inline, registry, local-directory, and GitHub Actions backends; the README marks GitHub Actions, S3, and Azure Blob options experimental. The daemon provides a gRPC API over a Unix socket by default, with TCP sockets also supported. Binaries are available for Linux, macOS, and Windows. The unofficial Homebrew formula for macOS omits buildkitd; the project gives Lima in a Linux virtual machine as one way to run it. BuildKit is licensed under Apache-2.0.
containerd
containerd is a free container runtime for managing a host’s container lifecycle. It handles image transfer and storage, execution, and supervision, and is designed to be embedded in a larger system rather than used directly by developers or end users. It supports OCI images and image push and pull operations, and uses runc by default while allowing other OCI-compliant runtimes. Its built-in CRI plugin can make it the container runtime for a Kubernetes cluster, and it supports registries compliant with the OCI Distribution Specification. The daemon is available for Linux and Windows. Network-interface management and image building are outside containerd’s first-class scope, so higher-level systems or tools handle those jobs. Its ctr command-line tool is intended for development and debugging, without a guarantee of a stable interface or a human-friendly experience. Users typically also need runc and CNI plugins. The plan is free; free plan available, with no free trial.