BuildKit vs Shifter
BuildKit
github.comShifter
github.comSide by side
| Figure | BuildKit | Shifter |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Container Engines | 8.9 (#2) | 7.0 (#27) |
| Architecture | BuildKit is composed of the buildkitd daemon and the buildctl client. | The project includes a compute-node utility, an image gateway that pulls and repacks registry images, and example scripts or plugins for batch scheduler integration. |
| License | BuildKit is distributed under the Apache License, Version 2.0, which grants perpetual, worldwide, non-exclusive, no-charge, royalty-free copyright rights subject to the license terms. | The repository license permits redistribution and use in source and binary forms subject to stated conditions and disclaimers. |
| Purpose | BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. | Shifter enables HPC systems to run end-user container images, including Docker images. |
| Security model | BuildKit describes itself as secure by default and usable with untrusted sources. | Shifter uses privileged operations to set up containers; its security documentation says processes launched in a container have privileges stripped and should not be able to re-escalate. |
| Support | The project directs users to the #buildkit channel on Docker Community Slack and to GitHub issues for reporting problems with release binaries. | The project README directs users to its Google Groups email list for updates and community 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.