The section your link pointed to isn't on Buildah's page any more, so we've brought you to the top.
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.
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 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
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.
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
Show
No capabilities match.
+Image Building and Reproducibility2 capabilitiesBuildah 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 buildsshippedPushes 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 sourceshippedLets 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 Copying3 capabilitiesBuildah 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/copyshippedAccepts 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 copyverifiedCopies 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 controlshippedAllows 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 Isolation1 capabilityBuildah 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 enforcementshippedApplies 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 Control2 capabilitiesBuildah 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 optionsverifiedLets 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▸
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
--options — comma-separated list of mount options
v1.45.0 · Jul 2026
· command-line history
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 servingverifiedServes 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
--read-only — serve SFTP in read-only mode
v1.45.0 · Jul 2026
· command-line history
+In-Process Command Execution1 capabilityBuildah 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 executionverifiedStarts 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
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
+Other89 capabilities▸
+Custom annotation injectionshippedAllows 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)shippedSupports 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 distributionshippedProvides 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
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 buildsshippedBuilds 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 controlshippedAllows 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 optionshippedForces 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 patternsverifiedEnables 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
--include — include pattern when copying files
v1.46.0 · Oct 2026
· command-line history
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 DockerfilesshippedParses 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
+Blob caching supportverifiedEnables 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 targetingshippedAllows 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 variableshippedAllows 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 outputshippedWrites 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 configurationshippedEnables 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 supportshippedAllows 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 configurationshippedSpecifies 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 runshippedProvides 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 flagsshippedAllows 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 supportshippedUses 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 squashingshippedCombines 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 pullingshippedProvides 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 pullsshippedAllows 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 controlshippedAllows 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 customizationshippedAllows 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 executionshippedAllows 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 passthroughshippedPermits 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 injectionshippedAllows 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 managementshippedProvides 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 handlingshippedSupports 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 managementshippedSupports 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 pruningshippedRemoves 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 supportshippedAdds 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 supportshippedAllows 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/copyverifiedAllows 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 stepsshippedAllows 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 controlshippedProvides 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 policiesshippedRestricts 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 optimizationshippedImproves 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 configurationshippedAllows 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 integrationshippedIntegrates the Sequoia PGP backend to handle cryptographic operations for image signatures and verification.2 releases · first seen Jan 2020▸
release
Includes the Sequoia crypto backend with integration test coverage.
v1.42.0 · Oct 2025
· source
· release history
+Hostname control in containersshippedProvides 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.confcontainer_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 resolutionshippedExpands 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 additionshippedSupports 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 outputshippedProvides 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 generationshippedAllows 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 configurationshippedControls 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 hardeningshippedEnhances 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 optimizationshippedAllows 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 configurationshippedProvides 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 outputshippedProvides 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 resolutionshippedEnables 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 identificationshippedIndicates 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 overrideshippedAllows overriding the default container isolation mode (e.g., chroot vs. rootless) via command-line flags.2 releases · first seen Jul 2018▸
buildah run recognizes -isolation <type> to override default isolation mode
v1.2 · Jul 2018
· source
· release history
+Build and runtime DNS configurationshippedConfigures 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 configurationshippedSupports 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 configurationshippedEnables 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 cleanupshippedRemoves 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 supportshippedSpecifies 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 configurationshippedConfigures 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 timeoutverifiedAllows 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
--experimental-timeout — global timeout
v1.46.0 · Oct 2026
· command-line history
+Empty layer optimizationshippedPrevents 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 automationverifiedProvides 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 copiershippedAllows 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 exportshippedExports 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 validationshippedDefines 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 preservationshippedRetains 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 operationsshippedAllows 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 orderingshippedEnsures deterministic ordering of network interfaces within containers.1 release · first seen May 2026▸
release
Introduces deterministic network ordering.
v1.44.0 · May 2026
· source
· release history
+Raw image ID outputshippedWrites 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 buildsshippedEnables building Windows-based container images.1 release · first seen May 2026▸
release
Enables building Windows container images.
v1.44.0 · May 2026
· source
· release history
+Bind mount cache modTime handlingshippedIgnores 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 resolutionshippedAllows 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 enforcementshippedEnsures 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 removalshippedAllows 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 DNSshippedEnables 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 mappingshippedEnables 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 compressionshippedSupports 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 enhancementsshippedAdds 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 inheritanceshippedAutomatically 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 maskingshippedMasks 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 maskingshippedRestricts 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 patternsshippedExpands 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 registrationshippedEnables 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 commitshippedEnables 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 inheritanceshippedAllows 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 inspectionshippedAllows 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 ADDshippedEnables 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 streamingshippedAccepts 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 namingshippedAllows 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 handlingshippedImproves 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.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian 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.
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.
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.
Contributors47+12 vs prior 12 months
Maintainers7+4 joined · −2 left, last 12 months
Bus factor2committers behind half the commits
Community-filednot measuredof issues opened, last 12 months
Median time to closenot measuredissues closed, last 12 months
Open backlognot measuredopen issues today
Issues opened / monthnot measured
Open backlognot measured
Contributors / month10
Commits / month23
Stars9,022
Issue themes, last 12 monthsnot 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.