
Buildah
Buildah is a free command-line tool for building OCI container images on Linux.
What Buildah is
Buildah is a free command-line tool for building OCI container images on Linux. It can produce OCI images or the traditional upstream Docker image format, using working containers, Dockerfiles, Containerfiles, or commands and scripts. Builds can run without root privileges, and Buildah uses a fork-exec model rather than running as a daemon. Its commands can create, mount, unmount, delete, and rename working containers, create or delete images, and pull or push images. Buildah is based on a Go API that other tools can vendor; Podman uses that API for Dockerfile image builds and can be installed separately. Buildah requires a kernel that supports OverlayFS or fuse-overlayfs; RHEL or CentOS requires version 7.4 or higher. The installation guidance warns that short image names can be spoofed and recommends fully qualified names or pulling by digest. The project site points users to tutorials, releases, and a mailing list for questions.
Good
- Builds OCI and traditional upstream Docker images.
- Supports rootless builds without a daemon.
- Can build from files, containers, commands, or scripts.
- Commands support pulling and pushing images.
- Free open-source command-line tool.
Watch out
- Linux is the supported host operating system.
- Requires OverlayFS or fuse-overlayfs support.
- RHEL or CentOS requires version 7.4 or higher.
- Windows containers are not supported.
Who it suits
Buildah suits Linux users who need to build and manage container images from the command line, including rootless builds. It is also relevant to tool developers who want to vendor its Go API.
Verdict
Buildah provides flexible, rootless image building and container operations on Linux. Check kernel support and use fully qualified image names or digests to reduce ambiguity.
Plans and prices
From Buildah's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Buildah | Free | Open-source command-line tool; no paid tiers or usage limits stated |
The facts
Each one read from Buildah's own pages, with the date it was checked.
What it does
- API
- Buildah is based on a Go API that can be vendored into other tools.checked 4 Oct 2026
- Build inputs
- It can create images from working containers or from Dockerfile instructions.checked 4 Oct 2026
- Build methods
- It can build images from Dockerfiles or Containerfiles, and also supports building without Dockerfiles through commands and scripts.checked 4 Oct 2026
- Container operations
- The tool can create working containers, mount and unmount their root filesystems, commit changes as image layers, and remove containers or images.checked 4 Oct 2026
- Daemon model
- Buildah follows a fork-exec model and does not run as a daemon.checked 4 Oct 2026
- Image formats
- Images can be built in OCI format or the traditional upstream Docker image format.checked 4 Oct 2026
- Project maintenance
- The Buildah site says the project is maintained by the containers organization.checked 4 Oct 2026
- Purpose
- Buildah is a command-line tool for building OCI container images.checked 4 Oct 2026
- Registry configuration
- The installation guide warns that unqualified image names can be spoofed and recommends fully qualified image names from trusted registries.checked 4 Oct 2026
- Registry operations
- The command set includes pulling images from a specified location and pushing images from local storage elsewhere.checked 4 Oct 2026
- Related tool
- Podman uses Buildah's Go API for building container images from Dockerfiles and can be installed independently.checked 4 Oct 2026
- Related tools
- Buildah and Podman are complementary command-line projects that work with OCI images and containers; Podman uses Buildah’s Go API for Dockerfile builds.checked 4 Oct 2026
- Rootless builds
- Buildah supports building images with or without Dockerfiles without requiring root privileges.checked 4 Oct 2026
- Rootless use
- The project says images can be built without requiring root privileges.checked 4 Oct 2026
- Runtime dependency
- Buildah uses runc when running commands with buildah run or processing a RUN instruction during a build.checked 4 Oct 2026
- Security configuration
- Installation guidance warns that short image names can be spoofed and recommends fully qualified image names or pulling by digest to reduce ambiguity.checked 4 Oct 2026
- Support
- The project site points users to tutorials, releases, and a mailing list; it describes maintainers as available to answer Buildah questions on the list.checked 4 Oct 2026
- System requirements
- Buildah requires a kernel supporting OverlayFS or fuse-overlayfs; on RHEL or CentOS it requires version 7.4 or higher.checked 4 Oct 2026
Where it runs
- Linux distributions
- The installation guide lists packages for distributions including Arch Linux, Debian, Fedora, Gentoo, openSUSE, RHEL, and Ubuntu.checked 4 Oct 2026
- Linux support
- Installation instructions list packages for Linux distributions including Arch, CentOS, Debian, Fedora, Gentoo, openSUSE, RHEL, and Ubuntu.checked 4 Oct 2026
The full review of Buildah
Buildah is a free command-line image builder for Linux, aimed at developers who want to create container images without relying on a persistent daemon. Its ability to build rootlessly, from Dockerfiles or scripts, makes it a strong fit for Linux-first workflows; teams needing a Windows or macOS host should look elsewhere.
Overview
Buildah creates OCI images and the traditional upstream Docker image format. You can start from Dockerfile or Containerfile instructions, build from working containers, or assemble images through commands and scripts without a build file. That range is useful when a conventional Dockerfile is either convenient or too restrictive.
The command-line tool also manages working containers: it can create, mount, unmount, delete and rename them, as well as create and delete images. It can pull images from a specified location and push local images elsewhere, making it more than a narrowly scoped image-construction command.
Buildah uses a fork-exec model rather than running a daemon. That suits environments where a persistent builder service is undesirable. Its Go API can be vendored into other tools; Podman uses it for Dockerfile image builds and can be installed independently.
Key features
- Rootless builds: Build images with or without Dockerfiles without requiring root privileges. This is valuable where elevated access is restricted, though kernel support remains a prerequisite.
- Flexible build inputs: Dockerfiles and Containerfiles offer a familiar instruction-based route; commands and scripts let you build without either.
- OCI and Docker image formats: Buildah supports both, so the output format need not force a different builder.
- Container and image operations: The CLI handles working-container lifecycle tasks and image creation, deletion, pulling and pushing.
- Vendored Go API: Other tools can incorporate Buildah's API rather than invoke only its CLI; Podman is a concrete example.
There are practical constraints. Buildah requires a kernel that supports OverlayFS or fuse-overlayfs; on RHEL or CentOS, the required version is 7.4 or higher. It uses runc when executing buildah run or processing a Dockerfile RUN instruction. Registry naming also deserves care: the installation guidance warns that unqualified names can be spoofed, so use fully qualified names from trusted registries or pull by digest to reduce ambiguity.
Pricing
Buildah is free: its open-source command-line tool costs nothing. There are no paid tiers or usage limits stated, and there is no free trial because there is no paid plan to trial. This makes it straightforward for individual users and teams to adopt without a subscription, but the product is a Linux tool rather than a bundled cross-platform service.
Platforms
Buildah supports Linux, with installation packages for distributions including Arch Linux, CentOS, Debian, Fedora, Gentoo, openSUSE, RHEL and Ubuntu. It is also categorized for API and self-hosted use. It does not support Windows containers, and Linux kernel support for OverlayFS or fuse-overlayfs is required.
Who it's for
Buildah is best for developers and Linux-based teams that want rootless image construction, need both Dockerfile-style and script-driven builds, or want a daemon-free command-line workflow. It is also a sensible building block for software that can vendor its Go API. Choose another tool if your host environment must be macOS or Windows, or if your kernel cannot provide the required filesystem support.
Pros and cons
Pros
- Rootless operation: Image builds do not require root privileges, a meaningful advantage on systems where administrative access is limited.
- More than one build path: Dockerfiles and Containerfiles coexist with builds assembled through commands and scripts.
- No daemon: The fork-exec model avoids a persistent builder daemon.
- Free with no stated usage caps: There are no paid tiers or limits to weigh against team size or build volume.
Cons
- Linux-only host support: It is not a fit for teams requiring a macOS or Windows host.
- Kernel and runtime prerequisites: OverlayFS or fuse-overlayfs support is required, and runc is used for run commands and build steps that execute RUN instructions.
- Image-name caution: Unqualified names can be spoofed, so users must take care to use trusted, fully qualified names or digests.
Alternatives
BuildKit is a free alternative for teams that need platform coverage extending to macOS and Windows as well as Linux. Dagger is worth considering for broader platform support and a free individual plan with one user, 1,000,000 monthly events, one month of run history and community support; its Team plan is 50.00 USD, though the supplied plan information does not give its billing term or included limits.
Cloud Native Buildpacks Pack offers a free CLI and Go library with no paid plans listed. Kaniko is another free Linux and self-hosted option, distributed as container images and focused on Dockerfile-based image builds. Earthly is another free option with Linux, macOS, Windows and web platform coverage.
Depot is the paid alternative for readers willing to consider a monthly plan: its Developer tier costs $20 a month and includes one user, 500 Docker build minutes, 2,000 Depot CI minutes and 2,000 GitHub Actions minutes, with broader platform coverage. Jib is a free choice when the need is specifically open-source container building tools for Java. Paketo Buildpacks is a free, Linux-focused option for building container images with open-source buildpacks.
For more options, browse Container Build Tools or Container Engines.
Verdict
Choose Buildah if you want a free, Linux-native builder that can build rootlessly, work with either image format and avoid a daemon. Its flexible inputs and Go API add value for command-line users and tool makers alike. Look elsewhere if you need a macOS or Windows host, or cannot meet its kernel and runtime requirements.
Alternatives to Buildah
- 1

LXD
Free planWebAPILinuxSelf-hosted7.0From $25 a year - 2
BuildKit
Free planAPILinuxmacOSSelf-hosted6.8Free plan - 3
Incus
Free planAPILinuxmacOSSelf-hosted6.8Free plan - 4
Apptainer
Free planAPILinuxmacOSSelf-hosted6.7Free plan - 5
crun
Free planLinuxSelf-hosted6.5Free plan - 6

Podman
Free planAPILinuxmacOSSelf-hosted6.4Free plan
