Skip to content
SPECIFICTION
Get listed

BuildKit vs crun

BuildKit

github.com

crun

github.com

Side by side

FigureBuildKitcrun
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published11
Spec score · Container Engines8.9 (#2)8.5 (#5)
IntegrationsBuildKit documentation lists integrations or usage with Podman, nerdctl, Kubernetes, Docker buildx, GitHub Actions cache, S3 cache, Azure Blob Storage cache, and OpenTelemetry.The README documents an Ansible role for automating installation of a statically linked binary and says a Lua binding is available.
PurposeBuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner.crun is a fast, low-memory-footprint OCI container runtime written in C.
Security reportingSecurity issues should be reported privately to [email protected], and the project currently does not offer a paid security bounty program.The security policy directs vulnerability reports through GitHub Security Advisories rather than public issues or pull requests.

Plans

BuildKit

  • BuildKit (Apache License 2.0)Free

BuildKit pricing →

crun

  • crunFree

crun pricing →

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.

Visit github.com

crun

crun is a free, self-hosted OCI container runtime for Linux, written in C. It conforms to the OCI Container Runtime specifications and provides CLI operations for creating, running, executing commands in, listing, pausing, resuming, updating, checkpointing and restoring containers. It can generate a configuration for unprivileged use and creates a user namespace when run by a non-root user. The project documents integration with Podman, an Ansible role for installing a statically linked binary and a Lua binding. Build instructions cover Fedora, RHEL/CentOS Stream 9 and 10, Ubuntu, Alpine and openSUSE Tumbleweed; release binaries are listed for Linux amd64 and arm64, including variants without systemd. Official release artifacts are signed, with GPG verification commands provided. The project reports a benchmark of 100 sequential `/bin/true` containers completing in 1.69 seconds with crun versus 3.34 seconds with runc on the author's machine. The manual marks cgroup v1 support as deprecated. Regular patch releases target the latest version; fixes for earlier versions are best effort and not guaranteed.

Visit github.com