PAGES
← all tools
◆ Container & Image Security

Buildah

v1.46.0 open-source

Buildah is a command line tool that facilitates building Open Container Initiative (OCIOCIOpen Container Initiative standard, maintained by the Linux Foundation, defining the image format and runtime spec that container tools share so images built once run anywhere OCI-compliant.) container images with or without Dockerfiles.

Summary

Buildah is an open-source command-line tool for building Open Container Initiative and Docker-format container images, free to use and run directly on Linux without a daemon. It creates working containers from scratch or from an existing image, lets you manipulate a container's filesystem directly, and commits the result to a new image, all without requiring root privileges. This makes it suited to platform engineers and CI pipeline maintainers who need scriptable, rootless image builds rather than a full Docker-style workflow. Its README describes it as complementary to Podman, with Buildah handling image construction while Podman handles running containers. The project dates to 2017 and remains active, with 272 contributors, 671 commits in the past year, and a release only 22 days ago.

Buildah is a command line tool that facilitates building Open Container Initiative (OCI) container images with or without Dockerfiles.

How Buildah helps

How do I build a container image without giving my build process root on this machine?

creates a working container and lets you manipulate its filesystem entirely in user space, then commits the result to an OCI or Docker-format image without daemon or root privileges

Can I reproduce the exact same image bytes from the same source tomorrow?

supports pinning timestamps and a source-date epoch when committing or building, so the resulting layers and image ID do not drift from one build to the next

How do I hand a build step a secret without exporting it into the image?

mounts a secret into the build environment for the duration of a run instruction so it is available to the process but never written into a layer

Which base images is a build actually allowed to pull from?

checks each stage's source against a supplied policy file before the pull happens, refusing or redirecting any source that policy does not permit

Where did this multi-stage build actually get each layer from, and can I isolate the build's state afterward?

preserves and labels intermediate stage images so their origin is traceable, and can run against a transient store that leaves nothing behind once the build session ends

Did last week's config or networking change break my existing pipeline?

removed cgroups v1, CNI, and slirp networking support outright, so a pipeline still depending on any of them fails on upgrade rather than silently degrading

all 98 features, with the evidence for each →

Languages

Not documented

Features

98 capabilities across 6 areas · 9 backed by code, an API document or a real run

Built from Buildah's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Buildah covers 1 of the 5 supply chain security capabilities we track.

What Buildah offers you

  • Command-line interface39
  • Air-gapped deployment1
  • JSON data export1
  • Offline mode1
Image Building and Reproducibility 2 capabilities Buildah constructs container images from Containerfiles and supports controls that make builds produce identical, content-addressable output across runs. This covers how layers are assembled, what image sources are accepted, and how build timestamps are managed.
Reproducible manifest builds shipped Pushes manifest lists with timestamps locked to a fixed point so that repeated builds produce byte-for-byte identical images. 15 releases · 9 other sources · first seen Feb 2019

release 15 total

  • Adds --timestamp 0 option to buildah manifest push to set tar entry timestamps explicitly 1.45.0 · Jul 2026 · source · release history
  • Adds --timestamp flag to buildah manifest push to set timestamps on new manifest content to a fixed epoch-relative value for reproducible builds. v1.45.0 · Jul 2026 · source · release history
  • Image history now records unset-label, timestamp, and rewrite-timestamp operations. v1.42.0 · Oct 2025 · source · release history
  • Adds --source-date-epoch and --rewrite-timestamp flags to buildah commit and buildah build for reproducible image builds. v1.41.0 · Jul 2025 · source · release history
  • Sets the OCI org.opencontainers.image.created annotation on OCI images at commit/build time. v1.41.0 · Jul 2025 · source · release history
  • Accepts SOURCE_DATE_EPOCH as a build-arg in Dockerfile builds for reproducibility. v1.41.0 · Jul 2025 · source · release history

example 9 total

  • Push a manifest list with all timestamps clamped to a fixed epoch value for a fully reproducible, content-addressable image. buildah manifest push --timestamp 1700000000 mylist docker://registry.example.com/myimage:latest v1.45.0 · Jul 2026 · source
  • Produce a bit-for-bit reproducible image by clamping all timestamps to a fixed epoch, suitable for supply-chain verification. buildah build --source-date-epoch 1700000000 --rewrite-timestamp -t myapp:reproducible . v1.41.0 · Jul 2025 · source
  • Push a manifest list with automatic retry logic in case of transient network errors. buildah manifest push --retry --retry-delay 5 my-manifest docker://registry.example.com/repo v1.35.0 · Mar 2024 · source
  • Check if a manifest list named mymanifest exists locally. buildah manifest exists mymanifest v1.28.0 · Oct 2022 · source
  • Run a command in a container with specific environment variables and working directory, useful for mimicking host env setups during debugging or CI. buildah run <container> --env MY_VAR=value --workingdir /app echo "Hello" v1.22.0 · Aug 2021 · source
  • Prevent .git directories from being included in the build context by adding a .containerignore file. echo ".git" > .containerignore && buildah bud -t myimage . v1.20.0 · Mar 2021 · source
containers-storage image source shipped Lets a Containerfile pull its base image directly from local container storage rather than a remote registry. 4 releases · 1 other source · first seen Feb 2018

Also counts toward: Command-line interface

release

  • Restores support for FROM containers-storage: prefixes in Containerfiles. v1.45.0 · Jul 2026 · source · release history
  • slirp networking support has been removed; setups relying on slirp will break on upgrade. v1.44.0 · May 2026 · source · release history
  • Adds --format and --filter parameters to the buildah containers command 0.12 · Feb 2018 · source · release history
  • Adds the --prune, -p option to the buildah rmi command allowing dangling images to be pruned 0.12 · Feb 2018 · source · release history

example

  • Create working container from base image buildah from "${1:-fedora}"
File and Content Copying 3 capabilities Buildah provides fine-grained control over how files are copied into image layers during both Containerfile steps and direct CLI operations. Users can preserve symlinks, apply permission changes symbolically, and override timestamps on copied content.
Symbolic chmod in add/copy shipped Accepts human-readable permission expressions such as u+x when setting file modes during a copy or add operation. 7 releases · 2 other sources · first seen Jun 2019

Also counts toward: Command-line interface

release 7 total

  • Supports symbolic chmod options when adding or copying files into a build context. v1.45.0 · Jul 2026 · source · release history
  • Adds support for symbolic chmod options (e.g. u+x, go-w) in buildah add and buildah copy --chmod. v1.45.0 · Jul 2026 · source · release history
  • Adds --digestfile flag to buildah source-push for writing image digests v1.36.0 · May 2024 · source · release history
  • Adds IgnoreUnreadable option to the copier's GetOptions to skip files that cannot be read instead of failing v1.19.8 · Mar 2021 · source · release history
  • buildah inspect can now inspect OCI image manifests directly. v1.19.0 · Jan 2021 · source · release history
  • copier.PutOptions adds IgnoreDevices and NoOverwriteDirNonDir flags for copy control. v1.19.0 · Jan 2021 · source · release history

example

  • Push a container image source and save its digest to a file for later verification or manifest creation. buildah source-push my-source docker.io/library/alpine:latest --digestfile /tmp/alpine.digest v1.36.0 · May 2024 · source
  • Use a private HTTPS git repository as the build context directly. buildah bud -t myapp https://github.com/example/private-repo.git v1.8.3 · Jun 2019 · source
Symlink-preserving file copy verified Copies symlinks into the image as symbolic links rather than replacing them with the files they point to. 6 releases · 3 other sources · first seen Oct 2019

release

  • Adds --no-follow-symlinks flag to buildah add and buildah copy to copy symlinks themselves rather than their targets. v1.45.0 · Jul 2026 · source · release history
  • Adds Copier.Symlink() API for creating symlinks with inline targets. v1.45.0 · Jul 2026 · source · release history
  • Adds --no-follow-symlinks option to buildah add command to skip dereferencing symlinks when copying 1.45.0 · Jul 2026 · source · release history
  • Adds the NoOverwriteDirNonDir option to the buildah copier API v1.26.4 · Aug 2022 · source · release history
  • Adds NoDerefSymLinks option to the internal copier to preserve symbolic links during COPY/ADD operations v1.19.8 · Mar 2021 · source · release history
  • buildah info reports cgroups v2 information when available. v1.11.3 · Oct 2019 · source · release history

command line

  • --no-follow-symlinks — do not follow symlinks when copying content (copy the symlink itself) v1.45.0 · Jul 2026 · command-line history

example

  • Preserve symlinks as-is during a COPY step instead of following them to their targets — useful when the symlink itself is the artifact. buildah copy --no-follow-symlinks mycontainer ./src/mylink /app/mylink v1.45.0 · Jul 2026 · source
  • Copy files from an existing image into a working container while preserving original ownership. buildah copy --from=myimage:latest <container> /app/config /app/config v1.37.0 · Jul 2024 · source
Copier timestamp control shipped Allows the timestamp on copied files to be set explicitly and automatically creates any missing destination directories in the process. 6 releases · first seen Sep 2020

release

  • Adds CreateDestPath option to copier PutOptions to automatically create destination paths. v1.45.0 · Jul 2026 · source · release history
  • Copier API adds PutOptions.Timestamp for timestamp overrides and PutOptions.CreateDestPath to create destination directories automatically. v1.45.0 · Jul 2026 · source · release history
  • Adds PutOptions.Timestamp to the copier API for per-operation timestamp overrides. v1.45.0 · Jul 2026 · source · release history
  • Adds --checksum flag to ADD instructions (in Dockerfiles) to verify source file integrity. v1.33.0 · Nov 2023 · source · release history
  • Adds --unsetlabel flag to buildah config to remove image labels during build configuration. v1.33.0 · Nov 2023 · source · release history
  • Force localhost as the default registry for saved images (images are now named localhost/IMAGENAME) v1.0 · Sep 2020 · source · release history
Runtime Security and Isolation 1 capability Buildah enforces kernel-level security policies during the build process so that container workloads run under defined constraints. It surfaces misconfigurations explicitly rather than silently ignoring them.
Seccomp profile enforcement shipped Applies the seccomp profile configured in containers.conf to build-time processes and raises an error if seccomp options are given on a system that does not support them. 8 releases · 1 other source · first seen Jan 2020

release 8 total

  • Buildah now honors the seccomp_profile setting from containers.conf when parsing build options. v1.45.0 · Jul 2026 · source · release history
  • Rejects --security-opt seccomp=profile explicitly when seccomp support is unavailable, rather than silently ignoring it. v1.45.0 · Jul 2026 · source · release history
  • Adds --timestamp flag to buildah add for setting file timestamps when adding content. v1.41.0 · Jul 2025 · source · release history
  • Adds support for the --security-opt no-new-privileges flag in the build command. 1.29.0 · May 2022 · source · release history
  • buildah push supports pushing manifest lists and digests via the new --manifest flags. v1.19.0 · Jan 2021 · source · release history
  • overlay.MountReadOnly allows mounting overlays in read-only mode v1.17.0 · Oct 2020 · source · release history

example

  • Enforce that the running container cannot gain new privileges via setuid binaries. buildah build --security-opt no-new-privileges . 1.29.0 · May 2022 · source
Mount and Storage Control 2 capabilities Buildah gives users direct control over how container filesystems are mounted and accessed during build and inspection operations. Options governing read-only access and mount behaviour are exposed at the CLI level.
Configurable mount options verified Lets users pass a comma-separated list of mount options when mounting a container or image filesystem. 6 releases · 3 other sources · first seen Sep 2019

Also counts toward: Command-line interface

release

  • Handle --chown on URLs v1.17.1 · Nov 2020 · source · release history
  • Adds support for --chown option on URLs in the ADD instruction v1.18.0 · Nov 2020 · source · release history
  • buildah add and the ADD instruction now preserve original archive permissions and file ownership v1.16.3 · Oct 2020 · source · release history
  • Allow readonly as an alias to ro in mount options (CLI flag or config) v1.15.1 · Jul 2020 · source · release history
  • Adds --devices flag to buildah bud and buildah from commands to specify device mounts during build or container creation. v1.11.1 · Sep 2019 · source · release history
  • Adds --device option to bud and from commands for host device passthrough 1.12.0 · Sep 2019 · source · release history

command line

example

  • Build a container from a remote URL and set the file ownership during the copy process. buildah add --chown 1000:1000 mycontainer https://example.com/data.tar.gz /app/data v1.17.1 · Nov 2020 · source
  • Create a new container instance with specific device access without building an image. buildah from --devices /dev/null:/dev/null alpine v1.11.1 · Sep 2019 · source
SFTP read-only serving verified Serves the container filesystem over SFTP in a mode that prevents any writes when read-only access is requested. 1 other source · first seen Jul 2026

command line

In-Process Command Execution 1 capability Buildah can run a command inside a container environment while keeping a lightweight communication channel available alongside it. This supports tooling that needs to coordinate with or inspect a running build step.
RPC server for command execution verified Starts a minimal RPC server alongside an executing command so that external callers can interact with the running process. 3 releases · 3 other sources · first seen Sep 2021

Also counts toward: Command-line interface

release

  • CNI networking support has been removed; setups using CNI will break on upgrade. v1.44.0 · May 2026 · source · release history
  • Removes CNI networking support. v1.44.0 · May 2026 · source · release history
  • Supports zstd compression when committing images with buildah commit. v1.41.0 · Jul 2025 · source · release history

command line

  • rpc — Run a command with a rudimentary RPC server available v1.44.0 · May 2026 · command-line history

example

  • Accelerate large image pulls by parallelizing download threads buildah copy --max-parallel-downloads=10 <container_id> src dest v1.23.0 · Sep 2021 · source
  • Run command inside working container buildah run "$ctr1" -- dnf install -y lighttpd
Other 89 capabilities
Custom annotation injection shipped Allows setting custom metadata annotations on built images during the build process. 6 releases · 8 other sources · first seen Jun 2018

release

  • commit: add a --sbom flag to scan and produce SBOMs when committing v1.35.0 · Mar 2024 · source · release history
  • Adds --layer-label flag to buildah build to set labels on intermediate image layers v1.32.0 · Sep 2023 · source · release history
  • Adds --sign-by flag to bud, commit, and push commands for image signing v1.13.2 · Jan 2020 · source · release history
  • Adds --remove-signatures flag to pull and push commands v1.13.2 · Jan 2020 · source · release history
  • --sign-by flag added to buildah bud, buildah commit, and buildah push commands for image signing. 1.14.0 · Jan 2020 · source · release history
  • Add --annotation flag to buildah bud to set image annotations during build v1.1 · Jun 2018 · source · release history

example 8 total

  • Generate a Software Bill of Materials for the built image at commit time. buildah commit --sbom my-container my-image v1.35.0 · Mar 2024 · source
  • Tag intermediate build layers with metadata like audit IDs or ownership for tracking. buildah build --layer-label='audit.id=12345' . v1.32.0 · Sep 2023 · source
  • Pull an image using a specific image policy configuration file. buildah pull --policy /etc/containers/policy.json docker.io/library/nginx:latest v1.18.0 · Nov 2020 · source
  • Build an image and sign it with a specific GPG key during the push phase. buildah bud --sign-by <key-id> -t myimage . v1.13.2 · Jan 2020 · source
  • Push an image while stripping any existing signatures from the manifest. buildah push --remove-signatures myimage docker-daemon:myimage:latest v1.13.2 · Jan 2020 · source
  • Sign a built container image with your GPG key during the build process. buildah bud --sign-by 'User Name <user@example.com>' -t myimage . 1.14.0 · Jan 2020 · source
Dockerfile syntax extensions (BuildKit compatibility) shipped Supports advanced Dockerfile instructions and syntax including volatile tmpfs mounts, cache volume mounts, environment variable secrets, unsetenv removal, C preprocessor flags, and base image variant specifications. 10 releases · 1 other source · first seen Jan 2022

release 10 total

  • Adds sharing=private support for cache mounts in RUN --mount=type=cache. v1.46.0 · Oct 2026 · source · release history
  • Adds FROM --after flag support for declaring explicit stage dependencies in Dockerfiles. v1.44.0 · May 2026 · source · release history
  • Enables heredoc support for RUN, COPY, and ADD instructions in Dockerfiles. v1.33.0 · Nov 2023 · source · release history
  • Adds -cpp-flag to pass C Preprocessor flags during Containerfile processing v1.27.0 · Aug 2022 · source · release history
  • Adds the --cpp-flag option to buildah build for passing additional arguments to the C preprocessor v1.26.4 · Aug 2022 · source · release history
  • config: variant field now supported in manifest configuration v1.24.0 · Jan 2022 · source · release history

example

  • Pass custom C preprocessor flags during an image build. buildah build --cpp-flag='-DDEBUG -I/usr/local/include' . v1.26.4 · Aug 2022 · source
Build cache management and distribution shipped Provides controls for managing build cache including remote storage integration, duration-based filtering (TTL), locking support, and manual pruning of intermediates and caches. 6 releases · 5 other sources · first seen Aug 2022

Also counts toward: Command-line interface

release

  • Distinguishes --mount=type=cache locations by ownership in addition to other attributes, enabling safer concurrent cache sharing. v1.40.0 · Apr 2025 · source · release history
  • Expose public CleanCacheMount API v1.30.0 · Apr 2023 · source · release history
  • buildah build adds support for --pull=missing v1.29.0 · Jan 2023 · source · release history
  • remote-cache supports multiple sources and destinations for pull/push operations v1.29.0 · Jan 2023 · source · release history
  • buildah prune subcommand and exposed CleanCacheMount API to clean build caches v1.29.0 · Jan 2023 · source · release history
  • Supports distributing cache to remote sources using --cache-to and --cache-from v1.27.0 · Aug 2022 · source · release history

example

  • Remove unused build cache artifacts to free disk space after a large build process. buildah prune --force v1.29.0 · Jan 2023 · source
  • Configure remote caching with multiple sources and destinations to aggregate build layers across infrastructure. buildah bud --cache-from=oci:myrepo/cache --cache-to=oci:newrepo/latest v1.29.0 · Jan 2023 · source
  • Generate an image without any commit history to save space buildah commit --omit-history <container> myimage:nocache v1.27.0 · Aug 2022 · source
  • Push build cache to a remote registry and pull from it for downstream builds buildah build --cache-to=myregistry/cache:latest --cache-from=myregistry/cache:latest -t myimage . v1.27.0 · Aug 2022 · source
  • Limit cache usage to the last 24 hours for builds buildah build --cache-ttl 24h -t myimage . v1.27.0 · Aug 2022 · source
Multi-platform image builds shipped Builds container images for multiple target architectures from a single Containerfile using platform specifications and manifest list generation. 7 releases · 3 other sources · first seen Mar 2021

release 7 total

  • Makes buildah manifest push --all default to true, pushing all platform variants without an explicit flag. v1.38.0 · Nov 2024 · source · release history
  • buildah manifest: add artifact-related options v1.35.0 · Mar 2024 · source · release history
  • Adds buildah manifest create --amend flag to update existing manifests without removing existing references. v1.28.0 · Oct 2022 · source · release history
  • Adds inline FROM --platform= support within Containerfile/Dockerfile for multi-stage builds v1.24.1 · Feb 2022 · source · release history
  • buildah bud --all-platforms builds multi-arch images in a single invocation v1.24.0 · Jan 2022 · source · release history
  • Allows bud --platform to accept a comma-separated list of platforms v1.23.0 · Sep 2021 · source · release history

example

  • Push all platforms in a manifest list without needing to specify --all explicitly. buildah manifest push myregistry.example.com/myimage:latest v1.38.0 · Nov 2024 · source
  • Switch the architecture of a specific build stage without affecting subsequent stages that inherit the default platform. FROM --platform=linux/amd64 AS builder COPY . /app RUN go build -o /app v1.24.1 · Feb 2022 · source
  • Build a multi-arch image targeting Linux amd64 and arm64 from one Containerfile. buildah bud --manifest myorg/myimage:latest . v1.20.0 · Mar 2021 · source
Log verbosity control shipped Allows controlling the detail level of build logs via command-line arguments. 6 releases · 2 other sources · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Enables --log-level error or --log-level fatal to silence Containerfile step output during builds. v1.46.0 · Oct 2026 · source · release history
  • Adds preliminary profiling support to the buildah CLI via a new profile flag v1.15.0 · Jun 2020 · source · release history
  • Replaces the --debug=false flag with --log-level=error to explicitly set logging verbosity. v1.11.1 · Sep 2019 · source · release history
  • Adds --log-level CLI flag to control verbosity, replacing the deprecated --debug option. v1.11.0 · Sep 2019 · source · release history
  • Adds --loglevel option to build-with-dockerfile to control log verbosity v1.3 · Aug 2018 · source · release history
  • buildah bud accepts a new -loglevel <level> argument to control build logging verbosity v1.2 · Jul 2018 · source · release history

example

  • Suppress all debug output by setting the log level to error only. buildah bud --log-level=error -t myimage . v1.11.1 · Sep 2019 · source
  • Run a build with verbose logging instead of the legacy debug flag for future compatibility. buildah bud --log-level=debug -t myimage . v1.11.0 · Sep 2019 · source
No-cache build option shipped Forces the build system to ignore existing layers and cache, ensuring a fully fresh build every time. 4 releases · 3 other sources · first seen Jul 2018

release

  • buildah build now accepts --no-cache and --layers flags to bypass or force layer usage in the build cache. v1.25.1 · Mar 2022 · source · release history
  • Adds --layers and --no-cache options to buildah bud to control layer caching behavior v1.3 · Aug 2018 · source · release history
  • buildah bud adds -rm and -force-rm to automatically remove intermediate containers on success or failure v1.2 · Jul 2018 · source · release history
  • buildah bud adds --layers and --no-cache flags to control build caching behavior v1.2 · Jul 2018 · source · release history

example

  • Force a fresh build without using any existing cache layers. buildah build --layers=false . v1.25.1 · Mar 2022 · source
  • Build an image without caching layers to ensure a fully fresh build every time. buildah bud --no-cache -t myimage . v1.3 · Aug 2018 · source
  • Run a build that always uses fresh layers and ignores the cache entirely. buildah bud --layers --no-cache -t myapp:latest . v1.2 · Jul 2018 · source
Source exclusion patterns verified Enables filtering out files during build using --exclude options in COPY and ADD instructions. 4 releases · 2 other sources · first seen Nov 2024

release

  • Adds --include flag to buildah add and buildah copy to filter which files are copied from a source. v1.46.0 · Oct 2026 · source · release history
  • Makes COPY --exclude patterns context-relative. v1.44.0 · May 2026 · source · release history
  • Ignores .containerignore for git repositories in ADD instructions. v1.44.0 · May 2026 · source · release history
  • Adds --exclude option to both COPY and ADD instructions for filtering files during build. v1.38.0 · Nov 2024 · source · release history

command line

example

  • Copy only specific files from a directory into a container, reducing image bloat without writing complex .dockerignore rules. buildah copy --include '*.conf' mycontainer ./configs /etc/myapp/ v1.46.0 · Oct 2026 · source
ENV instruction support in Dockerfiles shipped Parses and applies ENV instructions from Dockerfiles to set environment variables in the built image. 5 releases · 1 other source · first seen Jun 2018

release

  • Adds --no-hostname option to buildah containers to prevent setting the hostname in the container. v1.33.0 · Nov 2023 · source · release history
  • buildah build and buildah run now accept the --secret flag without a value to require a secret by name. v1.31.0 · Jun 2023 · source · release history
  • Warns when build arguments referenced in Dockerfiles are not provided by the user v1.15.0 · Jun 2020 · source · release history
  • Adds --chown support to the ADD instruction in Dockerfiles, allowing ownership specification during context processing v1.6 · Jan 2019 · source · release history
  • Add support for ENV instructions in Dockerfiles, allowing bud to pick up environment variables from base images v1.1 · Jun 2018 · source · release history

example

  • Configure container default command buildah config --cmd "/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf" "$ctr1"
Blob caching support verified Enables caching of image blobs during the build process to improve performance. 3 releases · 2 other sources · first seen Jan 2019

Also counts toward: Command-line interface

release

  • Allows multiple sources/destinations via --cache-from and --cache-to options on the build command. 1.29.0 · May 2022 · source · release history
  • imagebuildah cache respects image format v1.17.1 · Nov 2020 · source · release history
  • Adds hidden --blob-cache option to enable blob caching during image builds v1.6 · Jan 2019 · source · release history

command line

  • --blob-info-cache-dir — cache information about blobs in the specified directory instead of the default location v1.46.0 · Oct 2026 · command-line history

example

  • Pull image layers from remote cache only if they are missing locally, reducing unnecessary network traffic. buildah build --pull=missing -t myimage . v1.29.0 · Jan 2023 · source
Multi-stage build targeting shipped Allows specifying a specific build stage target within a Dockerfile during image creation. 4 releases · 1 other source · first seen Feb 2019

Also counts toward: Command-line interface

release

  • Changes buildah build stage resolution logic to use the last definition when multiple stages share a name 1.45.0 · Jul 2026 · source · release history
  • Allow referencing build stages by index or name in multi-stage builds v1.0 · Sep 2020 · source · release history
  • bud now supports --jobs=N for parallel stage execution v1.16.0 · Sep 2020 · source · release history
  • Adds --target argument to the bud command. v1.7 · Feb 2019 · source · release history

example

  • Speed up multi-stage builds by running independent stages in parallel. buildah bud --jobs=4 -t myimage:latest . v1.16.0 · Sep 2020 · source
Runtime override via environment variable shipped Allows specifying a custom container runtime executable by setting the BUILDAH_RUNTIME environment variable. 3 releases · 2 other sources · first seen Aug 2018

release

  • Adds --start-interval flag to healthcheck configuration for fine-grained startup probe timing. v1.37.0 · Jul 2024 · source · release history
  • Adds OCIRuntime field to the output of buildah info for runtime identification v1.11.5 · Nov 2019 · source · release history
  • Adds support for the BUILDAH_RUNTIME environment variable to specify the runtime executable v1.3 · Aug 2018 · source · release history

example

  • Check which OCI runtime Buildah is configured to use for executing containers. buildah info | grep OCIRuntime v1.11.5 · Nov 2019 · source
  • Specify a custom container runtime for Buildah to use instead of the default. export BUILDAH_RUNTIME=/usr/local/bin/custom-runc v1.3 · Aug 2018 · source
Container ID file output shipped Writes the ID of a newly created container to a specified file for later reference. 3 releases · 2 other sources · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Add support for --iidfile in buildah bud and buildah commit v1.0 · Sep 2020 · source · release history
  • Adds --cidfile option to from command to write container ID to a file v1.3 · Aug 2018 · source · release history
  • buildah from gains -cidfile <path> to write the container ID after creation v1.2 · Jul 2018 · source · release history

example

  • Persist the container ID to a file during image creation for later reference or cleanup. buildah from --cidfile my-container.cid ubuntu v1.3 · Aug 2018 · source
  • Save the ID of a newly created container from an image to a file for later reference. buildah from --cidfile /tmp/container.id alpine:latest v1.2 · Jul 2018 · source
CNI networking configuration shipped Enables configuring container network interfaces using CNI plugins and custom config directories. 3 releases · 2 other sources · first seen Jun 2018

Also counts toward: Command-line interface

release

  • CNI version retrieval no longer requires a network connection. v1.9.2 · Jul 2019 · source · release history
  • Adds --dns flag to bud and from commands for controlling DNS resolution during container builds. 1.9 · Apr 2019 · source · release history
  • Use --network and --cni-config-dir with buildah run to configure container networking via CNI v1.1 · Jun 2018 · source · release history

example

  • Configure DNS servers for a build step. buildah bud --dns 8.8.8.8 . 1.9 · Apr 2019 · source
  • Expose port in container config buildah config --port 80 "$ctr1"
Git source support shipped Allows adding content directly from Git repositories via URLs in Dockerfiles and CLI commands. 3 releases · 1 other source · first seen Nov 2024

Also counts toward: Command-line interface

release

  • Implements --keep-git-dir flag on buildah add (ADD instruction) for Docker-compatible preservation of the .git directory when adding a Git source. v1.46.0 · Oct 2026 · source · release history
  • Improves Git source handling in buildah add by adding --checksum verification against the resolved commit and enabling build cache hits for repeated Git URL adds. v1.46.0 · Oct 2026 · source · release history
  • Adds git repository sources to the add command, enabling direct ADD from git URLs in Dockerfiles and CLI. v1.38.0 · Nov 2024 · source · release history

example

  • Add a Git repo to a container image while preserving the .git directory, enabling version-aware tooling inside the image. buildah add --keep-git-dir mycontainer https://github.com/example/repo.git /src v1.46.0 · Oct 2026 · source
Build mount configuration shipped Specifies bind mounts to be applied directly during the build process via CLI flags. 3 releases · 1 other source · first seen Jul 2019

Also counts toward: Command-line interface

release

  • Adds --mount option to buildah build for specifying mounts at build time on the CLI. v1.44.0 · May 2026 · source · release history
  • Relative mountpoints allowed with respect to work directory via --mount and --secret flags v1.29.0 · Jan 2023 · source · release history
  • Adds --mount option to buildah run to allow mounting filesystems in the container environment v1.9.1 · Jul 2019 · source · release history

example

  • Mount a host volume into the build context when running commands inside the container. buildah run --mount type=bind,src=./host_dir,dst=/container_dir <container-name> sh v1.9.1 · Jul 2019 · source
Secret management in build and run shipped Provides command-line flags to inject, reference, or require secrets during container builds and executions. 3 releases · 1 other source · first seen Feb 2018

Also counts toward: Command-line interface

release

  • Adds support for --mount=type=secret,id=foo,env=bar to expose secrets via environment variables during builds. v1.44.0 · May 2026 · source · release history
  • buildah build and buildah run now accept the --secret flag without a value to require a secret by name. v1.31.0 · Jun 2023 · source · release history
  • Adds disableFips option to the secrets package for FIPS mode control v1.11.5 · Nov 2019 · source · release history

example

  • Commit a container using credentials from a specific file for registry access. buildah commit --authfile ~/.docker/config.json <container-id> myimage:latest v0.12 · Feb 2018 · source
Resource limit configuration via build flags shipped Allows specifying resource constraints and ULimits for the build process through command-line arguments. 3 releases · 1 other source · first seen Sep 2019

Also counts toward: Command-line interface

release

  • Enables handling of RUN --mount with relative targets when no workdir is configured. v1.38.0 · Nov 2024 · source · release history
  • Supports passing ULimits as -1 to mean maximum value v1.32.0 · Sep 2023 · source · release history
  • Adds support for cgroupsV2 to enable container runtime compatibility on newer Linux kernels. v1.11.0 · Sep 2019 · source · release history

example

  • Set maximum limits for resource constraints during build by passing -1. buildah build --ulimit nofile=-1 . v1.32.0 · Sep 2023 · source
Rootless networking support shipped Uses slirp4netns to enable network namespaces for rootless containers without requiring privileged capabilities. 3 releases · 1 other source · first seen Nov 2018

release

  • Adds support for pasta and slirp4netns network backends via the default_rootless_network_cmd config key in containers.conf. v1.31.0 · Jun 2023 · source · release history
  • Adds built-in slirp DNS server support for rootless containers v1.9.1 · Jul 2019 · source · release history
  • Uses slirp4netns for network namespace setup in rootless mode, enabling rootless networking without privileged capabilities. v1.5 · Nov 2018 · source · release history

example

  • Configure rootless containers to use pasta for networking by default. [containers] default_rootless_network_cmd = "pasta" v1.31.0 · Jun 2023 · source
Image layer squashing shipped Combines all intermediate build layers into a single layer during image creation. 3 releases · 1 other source · first seen Jun 2018

Also counts toward: Command-line interface

release

  • Add --compress, --rm, and --squash flags to buildah bud (currently no-ops) v1.0 · Sep 2020 · source · release history
  • buildah manifest subcommand enables creating and manipulating manifest lists directly from the CLI. v1.11.4 · Oct 2019 · source · release history
  • Add --squash flag to buildah bud to combine layers into a single image layer v1.1 · Jun 2018 · source · release history

example

  • Squash all build layers into one when building an image for a registry that does not support intermediate layers efficiently. buildah bud --squash -t myapp:latest . v1.1 · Jun 2018 · source
Offline image pulling shipped Provides a dedicated subcommand to download container images directly into local storage for air-gapped environments. 2 releases · 2 other sources · first seen Aug 2018

Also counts toward: Air-gapped deployment, Command-line interface, Offline mode

release

  • Adds --pull-never CLI argument to bud and from commands to prevent image pulling entirely v1.11.5 · Nov 2019 · source · release history
  • Adds a new pull subcommand to download OCI container images directly into the storage driver without requiring Docker or Podman 1.4 · Aug 2018 · source · release history

example

  • Force a build to fail if the base image is not already present locally, preventing network dependency. buildah bud --pull-never -t myimage . v1.11.5 · Nov 2019 · source
  • Pull a specific image into the local Buildah storage for offline building or air-gapped environments. buildah pull docker.io/library/alpine:3.8 1.4 · Aug 2018 · source
OCI archive and directory image pulls shipped Allows pulling images from local OCI archives or directories into the local storage driver via transport prefixes. 4 releases · first seen Apr 2018

Also counts toward: Command-line interface

release

  • Adds support for reading configuration from /run/.containerenv in addition to existing location. v1.11.1 · Sep 2019 · source · release history
  • Adds --all-tags flag to buildah pull to retrieve all tags from a repository. v1.7 · Feb 2019 · source · release history
  • Adds add all-tags option to the pull command to retrieve all tags from a registry v1.6 · Jan 2019 · source · release history
  • Adds docker-archive, oci-archive, and dir transports to buildah from for pulling images v0.16.0 · Apr 2018 · source · release history
Image blob compression control shipped Allows forcing re-compression of image blobs during push operations to satisfy registry requirements. 2 releases · 1 other source · first seen Sep 2023

release

  • Respects compression_format from containers.conf in push, build --cache-to, and commit. v1.44.0 · May 2026 · source · release history
  • Adds --force-compression flag to buildah push and manifest-push to prevent blob reuse during compression v1.32.0 · Sep 2023 · source · release history

example

  • Force re-compression of image blobs during push, useful when the registry requires specific compression formats regardless of what is available. buildah push --force-compression myimage:latest docker://registry.example.com/myimage v1.32.0 · Sep 2023 · source
Build output customization shipped Allows specifying custom output destinations and formats for build artifacts, such as OCI tars or specific paths. 1 release · 2 other sources · first seen May 2022

release

  • Allows --output to be specified multiple times in buildah build, enabling simultaneous export to multiple destinations. v1.41.0 · Jul 2025 · source · release history

example

  • Export a built image to multiple destinations simultaneously (e.g., a local OCI directory and a tarball) in one build invocation. buildah build --output type=oci,dest=./out/oci --output type=docker,dest=./out/image.tar -t myapp:latest . v1.41.0 · Jul 2025 · source
  • Export the build artifact as a specific format (e.g., OCI tar) or path during the build process. buildah bud --output=./artifact.tar -t myimage . v1.26.0 · May 2022 · source
Pivot-free container execution shipped Allows running containers without using the pivot_root syscall, bypassing specific kernel security limits. 2 releases · 1 other source · first seen Nov 2018

Also counts toward: Command-line interface

release

  • Adds --no-pivot-root flag to the executor for environments where pivot_root is unavailable or undesirable. v1.39.0 · Feb 2025 · source · release history
  • Adds the --no-pivot flag to the buildah run command to allow running containers without using pivot roots. v1.5 · Nov 2018 · source · release history

example

  • Run a container shell with a pre-installed binary from the host filesystem, avoiding pivot_root syscall limits. buildah run --no-pivot <container_id> bash v1.5 · Nov 2018 · source
Host device passthrough shipped Permits mounting host devices into the build container or from images for direct access during creation. 1 release · 2 other sources · first seen Sep 2019

Also counts toward: Command-line interface

release

  • Adds support for passing CDI specs to --device in buildah bud v1.36.0 · May 2024 · source · release history

example

  • Add a device to a container build using a specific CDI spec file instead of just the device path. buildah bud --device /path/to/spec.yaml . v1.36.0 · May 2024 · source
  • Mount a host device (e.g., /dev/sda) into the build container for direct access during image creation. buildah bud --devices /dev/sda:/dev/sda -t myimage . v1.11.1 · Sep 2019 · source
Build context injection shipped Allows passing additional build contexts and environment variables directly into the build process for use in instructions. 3 releases · first seen May 2022

Also counts toward: Command-line interface

release

  • Accept arguments from file with --build-arg-file v1.30.0 · Apr 2023 · source · release history
  • Adds the --build-context flag to buildah build for accessing additional build content in COPY and RUN instructions v1.26.4 · Aug 2022 · source · release history
  • buildah build adds --env flag to inject environment variables into the build context v1.26.0 · May 2022 · source · release history
User and group identity management shipped Provides granular control over container user identities through supplementary group additions and ID specification. 3 releases · first seen May 2022

Also counts toward: Command-line interface

release

  • --group-add flag added to buildah from command v1.29.0 · Jan 2023 · source · release history
  • buildah run now accepts the --gid flag to specify supplementary group IDs for the container process. v1.23.5 · Sep 2022 · source · release history
  • Adds --group-add option to the from and build commands for assigning additional groups. 1.29.0 · May 2022 · source · release history
Multi-platform build log handling shipped Supports splitting logs by platform during multi-architecture builds and displaying progress bars for push/pull operations. 2 releases · 1 other source · first seen Aug 2022

Also counts toward: Command-line interface

release

  • Supports splitting build logs by platform using --logsplit in multiarch builds v1.27.0 · Aug 2022 · source · release history
  • Adds the --logsplit flag to buildah build for splitting build logs among multiple files when building for multiple platforms v1.26.4 · Aug 2022 · source · release history

example

  • Split multi-platform build logs into separate files to avoid overwriting. buildah build --logsplit . v1.26.4 · Aug 2022 · source
Image history and metadata management shipped Supports custom naming for image history layers to improve build traceability and metadata organization. 2 releases · 1 other source · first seen Dec 2019

Also counts toward: Command-line interface

release

  • Adds the --omit-history flag to buildah build to prevent adding history entries to newly built images v1.26.4 · Aug 2022 · source · release history
  • Add history names support for layer metadata v1.12.0 · Dec 2019 · source · release history

example

  • Build an image without any history entries for a cleaner final artifact. buildah build --omit-history . v1.26.4 · Aug 2022 · source
Dangling image pruning shipped Removes untagged or dangling images from the local storage to reclaim space. 2 releases · 1 other source · first seen Feb 2018

Also counts toward: Command-line interface

release

  • Adds the --prune, -p option to the buildah rmi command allowing dangling images to be pruned 0.12 · Feb 2018 · source · release history
  • Add --prune,-p option to the rmi command for removing unused dependencies. v0.12 · Feb 2018 · source · release history

example

  • Remove an image and all unreferenced dependent layers from local storage. buildah rmi --prune <image-id> v0.12 · Feb 2018 · source
Docker-compatible parameter support shipped Adds parameters like --format and --filter to container management commands for compatibility with Docker CLI workflows. 2 releases · 1 other source · first seen Feb 2018

Also counts toward: Command-line interface

release

  • Adds --format and --filter parameters to the buildah containers command 0.12 · Feb 2018 · source · release history
  • Add --format and --filter options to the buildah containers command. v0.12 · Feb 2018 · source · release history

example

  • List containers with a custom output format and filter by name. buildah containers --format json --filter name=*-working v0.12 · Feb 2018 · source
Corporate proxy support shipped Allows configuration of corporate proxies for image and content operations to facilitate builds in restricted network environments. 2 releases · first seen Oct 2025

release

  • Honors http_proxy and proxy environment settings from containers.conf during image builds. v1.46.0 · Oct 2026 · source · release history
  • Adds corporate proxy support for build and add subcommands. v1.42.0 · Oct 2025 · source · release history
Required source path enforcement in add/copy verified Allows users to require that a specific path exists in the source when using buildah add or buildah copy, causing the operation to fail if the path is absent. 1 release · 1 other source · first seen Oct 2026

release

  • Adds --required-path flag to buildah add and buildah copy to require that a specific path exists in the source. v1.46.0 · Oct 2026 · source · release history

command line

  • --required-path — required paths when copying files, must be used with --include v1.46.0 · Oct 2026 · command-line history
Umask control for container run steps shipped Allows setting the umask for processes launched during buildah run, controlling the default permission bits applied to files created by build steps. 1 release · 1 other source · first seen Oct 2026

release

  • Adds --umask flag to buildah run to set the umask for the container process.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v1.46.0 · Oct 2026 · source · release history

example

  • Control the umask of processes launched in a build step, useful when build scripts create files with strict permission requirements. buildah run --umask 0022 mycontainer -- make install v1.46.0 · Oct 2026 · source
Reproducible build timestamp control shipped Provides fine-grained control over timestamps during builds and commits to ensure fully reproducible outputs, supporting epoch settings, SOURCE_DATE_EPOCH, and history logging. 2 releases · first seen Jul 2025

Also counts toward: Command-line interface

release

  • manifest-push now accepts the --timestamp parameter to control layer timestamps. v1.45.0 · Jul 2026 · source · release history
  • Adds --source-date-epoch and --rewrite-timestamp flags to buildah commit and buildah build for reproducible image builds. v1.41.0 · Jul 2025 · source · release history
BuildKit-compatible source policies shipped Restricts or redirects image sources during a build using external policy files. 1 release · 1 other source · first seen May 2026

Also counts toward: Command-line interface

release

  • Adds --source-policy-file flag for BuildKit-compatible source policies in buildah build. v1.44.0 · May 2026 · source · release history

example

  • Apply a BuildKit-compatible source policy file to restrict or redirect image sources during a build. buildah build --source-policy-file ./policy.json -t myimage . v1.44.0 · May 2026 · source
Cache selection optimization shipped Improves cache hit rates by preferring the most recent layer when conflicts arise during image builds. 1 release · 1 other source · first seen Jul 2025

release

  • Cache selection now prefers the most recent layer when conflicts arise during image builds. v1.41.0 · Jul 2025 · source · release history

example

  • Apply a BuildKit-compatible source policy file to restrict or redirect image sources during a build. buildah build --source-policy-file ./policy.json -t myimage . v1.44.0 · May 2026 · source
Alternate image store configuration shipped Allows specifying an alternate or transient image storage location for builds, supporting ephemeral environments and shared read-only stores. 2 releases · first seen Oct 2018

Also counts toward: Command-line interface

release

  • Adds --imagestore global flag to specify an alternate image store. v1.42.0 · Oct 2025 · source · release history
  • Adds support for STORAGE_DRIVER and STORAGE_OPTS environment variables to configure storage backend v1.4 · Oct 2018 · source · release history
Sequoia crypto backend integration shipped Integrates the Sequoia PGP backend to handle cryptographic operations for image signatures and verification. 2 releases · first seen Jan 2020

release

Hostname control in containers shipped Provides options to manage or disable the setting of hostnames for created containers. 2 releases · first seen Nov 2023

Also counts toward: Command-line interface

release

  • Supports the containers.conf container_name_as_hostname option for controlling container hostname behavior. v1.40.0 · Apr 2025 · source · release history
  • Adds --no-hostname option to buildah containers to prevent setting the hostname in the container. v1.33.0 · Nov 2023 · source · release history
Cache mount source resolution shipped Expands cache mount capabilities to support referencing images, build stages, and additional contexts as sources for pre-populated layers. 2 releases · first seen Jan 2023

Also counts toward: Command-line interface

release

  • Accepts image names as sources for cache mounts, enabling pre-populated cache layers from existing images. v1.39.0 · Feb 2025 · source · release history
  • --mount=type=cache sets separate cache parent on host for each user v1.29.0 · Jan 2023 · source · release history
Manifest artifact addition shipped Supports adding multiple artifacts to a manifest list via the manifest add command. 2 releases · first seen Nov 2024

Also counts toward: Command-line interface

release

  • Adds --artifact-annotation flag to manifest add for annotating OCI artifact manifests. v1.39.0 · Feb 2025 · source · release history
  • Handles multiple values for manifest add --artifact flag. v1.38.0 · Nov 2024 · source · release history
Image digest file output shipped Provides a flag to write the resulting image digest to a file for verification or manifest creation. 1 release · 1 other source · first seen May 2024

release

  • Adds --digestfile flag to buildah source-push for writing image digests v1.36.0 · May 2024 · source · release history

example

  • Push a container image source and save its digest to a file for later verification or manifest creation. buildah source-push my-source docker.io/library/alpine:latest --digestfile /tmp/alpine.digest v1.36.0 · May 2024 · source
SBOM generation shipped Allows generating and embedding a Software Bill of Materials during the image commit process. 1 release · 1 other source · first seen Mar 2024

Shared capability: SBOM generation

release

  • commit: add a --sbom flag to scan and produce SBOMs when committing v1.35.0 · Mar 2024 · source · release history

example

  • Generate a Software Bill of Materials for the built image at commit time. buildah commit --sbom my-container my-image v1.35.0 · Mar 2024 · source
Temporary storage path configuration shipped Controls the directory used for temporary files during image operations via configuration. 1 release · 1 other source · first seen Jun 2023

release

  • GetTempDir now honors the image_copy_tmp_dir setting from containers.conf to control temporary storage paths for image operations. v1.31.0 · Jun 2023 · source · release history

example

  • Direct image copy temporary files to a specific directory via config. [engine] image_copy_tmp_dir = "/var/tmp/buildah-img-copy" v1.31.0 · Jun 2023 · source
Build environment isolation and security hardening shipped Enhances build container security by restricting /etc/hosts access, preserving rootless group permissions, and enforcing no-new-privileges for run operations. 2 releases · first seen Mar 2022

release

  • no-new-privileges flag added to control privilege escalation during builds v1.29.0 · Jan 2023 · source · release history
  • Adds --no-hosts flag to buildah bud to eliminate use of /etc/hosts within containers v1.25.0 · Mar 2022 · source · release history
Multi-stage build optimization shipped Allows skipping unused stages in multi-stage builds to reduce build time and artifact size. 1 release · 1 other source · first seen Sep 2022

release

  • Adds --skip-unused-stages flag to buildah build to exclude unused stages from multi-stage builds v1.27.2 · Sep 2022 · source · release history

example

  • Skip building base or helper stages that aren't needed for the final image to reduce build time. buildah build --skip-unused-stages . v1.27.2 · Sep 2022 · source
CLI user namespace mapping configuration shipped Provides command-line flags to configure UID and GID mappings for user namespaces. 2 releases · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Adds --userns=auto for automatic user namespace mapping v1.27.0 · Aug 2022 · source · release history
  • Global options -userns-uid-map and -userns-gid-map allow configuring user namespace mappings at the CLI level v1.2 · Jul 2018 · source · release history
JSON-formatted output shipped Provides machine-readable JSON outputs for version, mount, and other status commands to facilitate automation integration. 1 release · 1 other source · first seen Aug 2021

Also counts toward: Command-line interface, JSON data export

release

  • Add --json flag to buildah version command to output version information in JSON format. v1.22.0 · Aug 2021 · source · release history

example

  • Obtain machine-readable version details for scripts or tooling that consume Buildah's version info programmatically. buildah version --json v1.22.0 · Aug 2021 · source
Local image digest resolution shipped Enables resolving and referencing images directly from the local storage cache using their immutable content digests rather than mutable tags. 1 release · 1 other source · first seen Jan 2021

release

  • local image lookup by digest enables resolving images directly from the local store using a digest instead of a tag. v1.19.3 · Jan 2021 · source · release history

example

  • Resolve a specific immutable image version from your local cache using its digest. buildah bud --isolation chroot -f Dockerfile docker://localhost:5000/image@sha256:<digest> v1.19.3 · Jan 2021 · source
Read-only image identification shipped Indicates in image listings whether images originate from read-only storage locations. 2 releases · first seen Jun 2019

Also counts toward: Command-line interface

release

  • Adds support for listing read-only images via buildah images v1.10.0 · Aug 2019 · source · release history
  • Allows listing images with indicators for whether they originate from read-only stores 1.10.1 · Jun 2019 · source · release history
Isolation mode override shipped Allows overriding the default container isolation mode (e.g., chroot vs. rootless) via command-line flags. 2 releases · first seen Jul 2018

Also counts toward: Command-line interface

release

Build and runtime DNS configuration shipped Configures DNS resolution settings for both build environments and container run operations via CLI flags. 2 releases · first seen Apr 2019

Also counts toward: Command-line interface

release

  • Supports --dns=none option in the run command to disable DNS resolution, matching Podman behavior. v1.8.4 · Jun 2019 · source · release history
  • Adds --dns, --dns-opt, and --dns-search flags to buildah bud to configure DNS for the build environment v1.7.3 · Apr 2019 · source · release history
Per-user registry configuration shipped Supports user-specific registries configuration files to define custom image sources independently of system settings. 1 release · 1 other source · first seen Nov 2018

release

  • Supports a per-user registries configuration file, allowing non-root users to define custom registry sources independently of system-wide settings. v1.5 · Nov 2018 · source · release history

example

  • Configure a custom search registry for rootless builds by placing the config in the user's XDG path. mkdir -p "$XDG_CONFIG_HOME/containers" echo '[registries.search] registries = ["my-registry.example.com"]' > "$XDG_CONFIG_HOME/containers/registries.conf" v1.5 · Nov 2018 · source
Environment variable build and storage configuration shipped Enables configuring build behavior, storage drivers, and tool options through dedicated BUILDAH_ environment variables. 1 release · 1 other source · first seen Oct 2018

release

  • Adds support for the BUILDAH_* environment variables to configure build behavior v1.4 · Oct 2018 · source · release history

example

  • Configure the storage driver and options via environment variables for a build. STORAGE_DRIVER=vfs STORAGE_OPTS="--driver-opt overlay.mount_program=/usr/bin/fuse-overlayfs" buildah bud -t myimage . v1.4 · Oct 2018 · source
Automatic build container cleanup shipped Removes intermediate containers automatically upon successful or failed build completion. 2 releases · first seen Jul 2018

release

  • Adds --rm and --force-rm options to buildah bud to automatically remove build containers v1.3 · Aug 2018 · source · release history
  • buildah bud adds -rm and -force-rm to automatically remove intermediate containers on success or failure v1.2 · Jul 2018 · source · release history
Build authentication file support shipped Specifies a separate authentication file for image operations, decoupling it from the default location. 2 releases · first seen Feb 2018

Also counts toward: Command-line interface

release

  • Adds the --authfile parameter to the buildah commit command 0.12 · Feb 2018 · source · release history
  • Add authfile parameter to the commit command to specify an authentication file. v0.12 · Feb 2018 · source · release history
TLS certificate directory configuration shipped Configures the system directory used for TLS certificates and client certificates for container registry operations. 2 releases · first seen Feb 2018

release

  • The default certs directory is now /etc/containers/certs.dir instead of the previous location. v0.12 · Feb 2018 · source · release history
  • Change default certificates directory to /etc/containers/certs.dir. v0.12 · Feb 2018 · source · release history
Global build timeout verified Allows setting a maximum time limit for the entire build operation via a global --experimental-timeout flag. 1 other source · first seen Oct 2026

command line

Empty layer optimization shipped Prevents the creation of unnecessary empty layers when the root filesystem remains unchanged during a build. 1 release · first seen Jul 2026

release

  • Images built by buildah build without --layers=true will no longer add an empty layer if there were no changes to the working container’s root filesystem during the build. 1.45.0 · Jul 2026 · source · release history
SSHFS unmount automation verified Provides a mechanism to unmount all containers and images associated with sshfs storage drivers. 1 other source · first seen Jul 2026

command line

  • --all — unmount all containers and images mounted with sshfs v1.45.0 · Jul 2026 · command-line history
Symlink creation in copier shipped Allows creating symlinks with specified targets during file operations in the build environment. 1 release · first seen Jul 2026

release

  • Copier API gains Symlink() function for creating symlinks with an inline target. v1.45.0 · Jul 2026 · source · release history
Commit metadata export shipped Exports detailed commit results and metadata to an external file upon image creation. 1 release · first seen May 2026

release

  • Adds --metadata-file flag to buildah commit (via new CommitResults() API) to write commit metadata to a file. v1.44.0 · May 2026 · source · release history
Exit code validation shipped Defines acceptable exit codes for run operations to control flow based on command status. 1 release · first seen May 2026

Also counts toward: Command-line interface

release

  • Adds RunOptions.ValidExitCodes and --valid-exit-codes flag to buildah run for specifying acceptable exit codes. v1.44.0 · May 2026 · source · release history
Intermediate image preservation shipped Retains and labels intermediate stage images during multi-stage builds for inspection or reuse. 1 release · first seen May 2026

release

  • Adds support for preserving and labeling intermediate stage images during multi-stage builds. v1.44.0 · May 2026 · source · release history
Manifest list update operations shipped Allows updating and replacing existing manifest lists or non-list images. 1 release · first seen May 2026

release

  • Adds --amend and --replace flags to manifest create for handling non-list images. v1.44.0 · May 2026 · source · release history
Network interface ordering shipped Ensures deterministic ordering of network interfaces within containers. 1 release · first seen May 2026

release

Raw image ID output shipped Writes the unprocessed image identifier to a file for downstream automation. 1 release · first seen May 2026

release

  • Adds --iidfile-raw CLI option to buildah build for writing the raw image ID to a file. v1.44.0 · May 2026 · source · release history
Windows container builds shipped Enables building Windows-based container images. 1 release · first seen May 2026

release

Bind mount cache modTime handling shipped Ignores modification times of bind mounts when evaluating cache candidates to improve cache utility. 1 release · first seen Oct 2025

release

  • --mount=type=bind ignores modTime when evaluating cache candidates, improving cache hit rates. v1.42.0 · Oct 2025 · source · release history
Chroot PATH resolution shipped Allows chroot environments to locate commands using the system $PATH during builds. 1 release · first seen Oct 2025

release

  • chroot uses $PATH when locating commands during builds. v1.42.0 · Oct 2025 · source · release history
Image ID config digest enforcement shipped Ensures the image ID is always derived from the configuration digest to maintain consistency and stability. 1 release · first seen Oct 2025

release

  • commit always returns the config digest as the image ID. v1.42.0 · Oct 2025 · source · release history
Build annotation inheritance and removal shipped Allows inheriting annotations from base images and explicitly removing specific unwanted annotations during the build process. 1 release · first seen Jul 2025

release

  • Adds --inherit-annotations flag to buildah build for propagating annotations from base images. v1.41.0 · Jul 2025 · source · release history
Host gateway support in DNS shipped Enables the use of 'host-gateway' as a valid hostname value in extra hosts configurations for container networking. 1 release · first seen Jul 2025

Also counts toward: Command-line interface

release

  • Supports host-gateway as a valid value in --add-host / --extra-hosts format. v1.41.0 · Jul 2025 · source · release history
User label mapping shipped Enables mapping user-defined labels during the container build process to apply them consistently. 1 release · first seen Jul 2025

release

  • Adds label_users support, enabling user label mapping in container builds. v1.41.0 · Jul 2025 · source · release history
Zstd image compression shipped Supports using Zstandard compression when committing and storing container images. 1 release · first seen Jul 2025

release

  • Supports zstd compression when committing images with buildah commit. v1.41.0 · Jul 2025 · source · release history
Build context COPY enhancements shipped Adds support for preserving parent directory structures and efficient linking during file copies in Containerfiles. 1 release · first seen Apr 2025

release

  • Adds --parents option for COPY in Containerfiles, preserving source directory structure in the destination. v1.40.0 · Apr 2025 · source · release history
Image label inheritance shipped Automatically propagates labels from base images to the final built image without manual specification. 1 other source · first seen Apr 2025

example

  • Propagate all labels from base images through to the final image without listing them manually. buildah build --inherit-labels -t myimage:latest . v1.40.0 · Apr 2025 · source
Thermal path masking shipped Masks thermal sensor paths in the container runtime environment to prevent access to host hardware telemetry. 1 release · first seen Apr 2025

release

  • Masks thermal paths in the container runtime environment. v1.40.0 · Apr 2025 · source · release history
Container path masking shipped Restricts access to sensitive host paths within the build environment to prevent accidental data exposure. 1 other source · first seen Feb 2025

example

  • Mask sensitive host paths inside a build container to prevent accidental exposure during RUN steps. buildah build --security-opt mask=/proc/acpi --security-opt mask=/sys/firmware -t myimage . v1.39.0 · Feb 2025 · source
Enhanced copier patterns shipped Expands file matching capabilities in the copier to include globbing with ** path components. 1 release · first seen Nov 2024

release

  • Adds support for globbing with ** path components in the copier. v1.38.0 · Nov 2024 · source · release history
Host bindfmt_misc registration shipped Enables registering binfmt_misc handlers when building inside a container to improve cross-platform support. 1 release · first seen Nov 2024

release

  • Supports registering binfmt_misc when running inside a container, improving cross-platform build support. v1.38.0 · Nov 2024 · source · release history
Container state override at commit shipped Enables modifying container configuration and filesystem changes when committing a container to an image. 1 release · first seen Nov 2023

release

  • Adds OverrideChanges and OverrideConfig fields to CommitOptions in the Go API to modify container state at commit time. v1.33.0 · Nov 2023 · source · release history
Host environment ARG inheritance shipped Allows build ARG instructions to automatically inherit their values from matching environment variables in the current shell session instead of relying on hardcoded defaults. 1 other source · first seen Jan 2021

example

  • Ensure build ARGs are sourced from your current shell environment rather than hard-coded values. export BUILD_VERSION=1.0 && buildah bud --build-arg BUILD_VERSION=${BUILD_VERSION} . v1.19.3 · Jan 2021 · source
Image manifest inspection shipped Allows direct inspection of OCI image manifests to view metadata and configuration details without extracting the full image content. 1 release · first seen Jan 2021

release

  • buildah inspect can now inspect OCI image manifests directly. v1.19.0 · Jan 2021 · source · release history
Remote HTTP source fetching in ADD shipped Enables the ADD instruction to download files directly from HTTP or HTTPS sources during the build process. 1 release · first seen Dec 2019

release

  • Allow ADD to use http src for downloading files during build v1.12.0 · Dec 2019 · source · release history
Stdin context streaming shipped Accepts a minus sign as the build context source to stream data from stdin without temporary files. 1 other source · first seen Oct 2019

example

  • Stream a Containerfile or context from another process directly into the build without temporary files. cat Containerfile | buildah bud - -f - v1.11.3 · Oct 2019 · source
Optional commit target naming shipped Allows the commit command to generate a default target image name when none is explicitly provided. 1 release · first seen Apr 2019

release

  • Makes target image names optional in the commit command, allowing commits without explicitly specifying an output name v1.7.3 · Apr 2019 · source · release history
Enhanced symlink and chroot handling shipped Improves the handling of symbolic links and chroot environments during Dockerfile builds for complex base images. 1 release · first seen Aug 2018

release

  • Improves symbolic link and chroot handling during Dockerfile builds for better compatibility with complex base images 1.4 · Aug 2018 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Buildah, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Buildah puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

78 entries

  1. October 20261
  2. September 20261
  3. July 20261
  4. June 20261
  5. May 20261
  6. October 20251
  7. July 20251
  8. April 20251
  9. February 20251
  10. January 20251
  11. November 20241
  12. July 20241
  13. May 20241
  14. March 20242
  15. December 20231
  16. November 20231
  17. September 20231
  18. June 20231
  19. April 20231
  20. January 20231
  21. October 20221
  22. September 20222
  23. August 20222
  24. May 20222
  25. March 20223
  26. February 20221
  27. January 20221
  28. September 20211
  29. August 20211
  30. July 20211
  31. May 20211
  32. April 20211
  33. March 20212
  34. January 20212
  35. November 20202
  36. October 20202
  37. September 20202
  38. July 20201
  39. June 20201
  40. March 20201
  41. January 20203
  42. December 20191
  43. November 20191
  44. October 20192
  45. September 20192
  46. August 20191
  47. July 20192
  48. June 20193
  49. April 20192
  50. February 20192
  51. January 20191
  52. November 20181
  53. October 20181
  54. August 20181
  55. July 20181
  56. June 20181
  57. April 20181
  58. February 20181
    Show

    78 entries

    Project health

    Issue, contributor and maintainer activity in containers/buildah, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 47 +12 vs prior 12 months
    2. Maintainers 7 +4 joined · −2 left, last 12 months
    3. Bus factor 2 committers behind half the commits
    4. Community-filed not measured of issues opened, last 12 months
    5. Median time to close not measured issues closed, last 12 months
    6. Open backlog not measured open issues today
    1. Issues opened / month not measured
    2. Open backlog not measured
    3. Contributors / month 10
    4. Commits / month 23
    5. Stars 9,022
    Issue themes, last 12 months not measured

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →