Skip to content
SPECIFICTION
Get listed

BuildKit vs LXC

BuildKit

github.com

LXC

linuxcontainers.org

Side by side

FigureBuildKitLXC
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · Container Engines8.9 (#2)7.6 (#15)
PurposeBuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner.LXC is a userspace interface to Linux kernel containment features for creating and managing system or application containers.
Security modelBuildKit describes itself as secure by default and usable with untrusted sources.The project describes unprivileged containers as safe by design because container root maps to an unprivileged user outside the container.
Security reportingSecurity issues should be reported privately to [email protected], and the project currently does not offer a paid security bounty program.Security issues can be reported by email to the project security address or through a private GitHub security advisory.

Plans

BuildKit

  • BuildKit (Apache License 2.0)Free

BuildKit pricing →

LXC

  • LXCFree

LXC 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

LXC

LXC is free software for creating and managing Linux system or application containers through Linux kernel containment features. It aims to make each container resemble a standard Linux installation without a separate kernel. The project includes the liblxc library, container control tools, distribution templates and API bindings for Python 3, Lua, Go, Ruby and Haskell. Process containment uses kernel namespaces, AppArmor and SELinux profiles, seccomp policies, chroots, kernel capabilities and cgroups. Unprivileged containers map container root to an unprivileged host user. LXC is included in most Linux distributions and is generally installed through the distribution package manager. Listed requirements include a supported C library and Linux kernel 2.6.32 or later. LXC 7.0 and 6.0 are listed as long-term support releases through June 1, 2031 and June 1, 2029. Most code uses GNU LGPLv2.1+, with some BSD 2-clause or GNU GPLv2 components.

Visit linuxcontainers.org