* [Topics](/en/topics "Topics")
* [Open source](/en/topics/open-source "Open source")
* What is Buildah?
What is Buildah?
================
Published  April 11, 2023•*3*-minute read
Copy URL
Jump to section
---------------
OverviewWhy choose Buildah?Buildah and PodmanWhy choose Red Hat?
Overview
--------
Buildah is an open source, Linux-based tool used to build Open Container Initiative (OCI)-compatible [containers](https://www.redhat.com/en/topics/containers), meaning the containers are compatible with [Docker](/en/topics/containers/what-is-docker) and [Kubernetes](/en/topics/containers/what-is-kubernetes) as well. With Buildah, you can use your favorite tools to create efficient container images from an existing base image or from scratch using an empty image. It’s a more flexible and secure way to build container images. In this article, we’ll learn more about how.
Buildah (named for the word "builder" pronounced with a Boston accent) was created in 2017 by Daniel Walsh and his team at Red Hat. They set out to create a "coreutils" of container images—a tool that could be used with existing container-host tools to build OCI- and Docker-compatible container images. These images could then be stored in [container registries](/en/topics/cloud-native-apps/what-is-a-container-registry) and used in multiple [runtime environments](/en/topics/cloud-native-apps/what-is-a-Java-runtime-environment), with or without the use of a container daemon like Docker’s (which requires root-access privileges, and the resulting containers of which are then dependent on the functionality of the daemon itself).
The result was Buildah—a command-line tool that:
* Builds container images with or without Dockerfiles (a text document that contains all the commands a user could call on to assemble an image)
* Creates container images from scratch or from an existing container image starting point
* Doesn’t include build tools within the image itself, reducing the size of built images, increasing security, and allowing for easier transport using fewer resources
* Is compatible with Dockerfiles, allowing for easy transition from Docker
* Creates user-specific images so that images can be sorted by the user who created them.
Why choose Buildah?
-------------------
The flexibility that Buildah provides—of building images without Dockerfiles, allowing for the integration of other scripting languages into the build process—as well as the efficiency it creates in using build tools that are external to the image itself, provides a tool that allows for faster innovation and implementation of new ideas. Container images can be created and built upon quickly, with only the tools and processes necessary to get them up and running.
Buildah also allows you to:
* Inspect, verify, and modify images
* Push containers and images from local storage to a public or private registry or repository
* Push or pull images from the Docker Hub
* Remove locally stored container images
* Mount and unmount a working container’s root file system
* Use the updated contents of a container’s root filesystem as a filesystem layer for a new image
Red Hat to Contribute Comprehensive Container Tools Collection to Cloud Native Computing Foundation
---------------------------------------------------------------------------------------------------
[Read the report](/en/blog/red-hat-contribute-comprehensive-container-tools-collection-cloud-native-computing-foundation "Read the report")
Buildah and Podman
------------------
Buildah and [Podman](/en/topics/containers/what-is-podman) are both complementary open source projects and command line tools, working with and building OCI-images and containers. Buildah was created first, and Podman uses the same code for building as Buildah. However, Buildah’s commands are much more detailed than Podman’s allowing for finer-grained control over images and allowing for the creation of finer image layers. Podman’s "build" command uses a subset of Buildah’s functionality.
Buildah specializes in building container images, replicating all the commands found in a Dockerfile without the daemon socket component, while Podman specializes in the things you need to maintain and modify those images in a container. With Podman, you can create a container—using Buildah to provide the container image—and then run, maintain, and modify the container you’ve created in a production environment using familiar command line interface (CLI) commands (if you can run a command in the Docker CLI, you can run the same command in the Podman CLI).
Another way that Podman and Buildah are different is this: Buildah’s containers are mainly created temporarily to allow the transfer of content to the container image being created, while with Podman, users create traditional containers, intended to be used and maintained for longer periods of time. Buildah’s containers serve a shorter-term purpose, while Podman’s containers are in it for the longer run.
One more thing. Buildah and Podman do not share internal representations of containers, so a container in one can’t be seen in the other. But, they do share internal representations of container images, allowing container images that are created, modified, or pulled from one to be seen and used in the other.
Why choose Red Hat?
-------------------
Buildah started at Red Hat with Red Hat engineers and developers working together to make  a useful tool that would serve as a valuable way to save time and boost productivity. Like Podman and Skopeo, Buildah is valuable for anyone working with Linux containers, and [upgrading Red Hat Enterprise Linux](/en/technologies/linux-platforms/enterprise-linux/upgrade-rhel) helps ensure you're ready to take full advantage of all these tools. When it comes to containers and Kubernetes, Red Hat has you covered from operating system to [automation](/en/topics/automation).
[Red Hat knows containers](/en/topics/containers/why-choose-red-hat-containers) and Kubernetes. We've got the products and services to make sure you build and execute your container strategy the right way. Whether it’s getting your development teams on a platform built with containers in mind, running your container infrastructure on a best-in-class operating system, or providing storage solutions for the massive data generated by containers, Red Hat's solutions have what you need.
Red Hat named a Leader in 2025 Gartner® Magic Quadrant™ for Container Management
--------------------------------------------------------------------------------
Read the 2025 Gartner® Magic Quadrant™ for Container Management to learn why Red Hat OpenShift has been named a “Leader” for the 3rd year in a row.
[Keep reading](/en/engage/gartner-magic-quadrant-container-management-analyst-report "Red Hat named a Leader in 2025 Gartner® Magic Quadrant™ for Container Management")
All Red Hat product trials
--------------------------
Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.
[Keep reading](/en/products/trials "All Red Hat product trials")
Keep reading
------------
### What is Istio?
Find out more about Istio, an open source service mesh that controls how microservices share data with one another.
[Read the article](/en/topics/microservices/what-is-istio "article | What is Istio?")
### What is CentOS Stream?
CentOS Stream is a Linux® development platform where open source community members can contribute to Red Hat® Enterprise Linux in tandem with Red Hat developers.
[Read the article](/en/topics/linux/what-is-centos-stream "product article | what is centos stream")
### What is KVM?
Kernel-based virtual machines (KVM) are an open source virtualization technology that turns Linux into a hypervisor.
[Read the article](/en/topics/virtualization/what-is-KVM "article | what is KVM?")
Open source resources
---------------------
### Related content
* Checklist
  [4 key considerations in modernizing industrial controls](/en/resources/considerations-modernizing-industrial-controls-checklist)
* Blog post
  [Red Hat Named a Leader in 2025 Gartner® Magic Quadrant™ for Container Management for the Third Consecutive Year](/en/blog/red-hat-named-leader-2025-container-management)
* Blog post
  [Getting to know Navtez Singh Bal, Vice President & General Manager, India and South Asia](/en/blog/getting-know-navtez-singh-bal-vice-president-general-manager-india-and-south-asia)
* Blog post
  [Zero trust starts here: Validated patterns for confidential container deployment](/en/blog/validated-patterns-confidential-container-deployment)
### Related articles
* [What is a Linux container?](/en/topics/containers/whats-a-linux-container)
* [What is container orchestration?](/en/topics/containers/what-is-container-orchestration)
* [What is Istio?](/en/topics/microservices/what-is-istio)
* [What is CentOS Stream?](/en/topics/linux/what-is-centos-stream)
* [Stateful vs stateless applications](/en/topics/cloud-native-apps/stateful-vs-stateless)
* [What is Kubernetes?](/en/topics/containers/what-is-kubernetes)
* [Red Hat OpenShift on VMware](/en/technologies/cloud-computing/openshift/vmware)
* [What is KVM?](/en/topics/virtualization/what-is-KVM)
* [What is KubeVirt?](/en/topics/virtualization/what-is-kubevirt)
* [Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?](/en/technologies/cloud-computing/openshift/ansible-on-openshift)
* [What is Podman Desktop?](/en/topics/containers/what-is-podman-desktop)
* [What is CentOS?](/en/topics/linux/what-is-centos)
* [What are CentOS replacements?](/en/topics/linux/centos-alternatives)
* [What is Podman?](/en/topics/containers/what-is-podman)
* [What is the Kubernetes Java client?](/en/topics/cloud-computing/what-is-kubernetes-java-client)
* [What are hosted control planes?](/en/topics/containers/what-are-hosted-control-planes)
* [What is kubernetes security?](/en/topics/containers/kubernetes-security)
* [What is Helm?](/en/topics/devops/what-is-helm)
* [What is InstructLab?](/en/topics/ai/what-is-instructlab)
* [What is Argo CD?](/en/topics/devops/what-is-argocd)
* [Red Hat OpenShift for developers](/en/technologies/cloud-computing/openshift/developers)
* [Containers vs VMs](/en/topics/containers/containers-vs-vms)
* [Edge computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/edge-computing)
* [What is MicroShift?](/en/topics/edge-computing/microshift)
* [How Kubernetes can help AI/ML](/en/topics/cloud-computing/how-kubernetes-can-help-ai)
* [OpenJDK versus Oracle JDK](/en/topics/application-modernization/openjdk-vs-oracle-jdk)
* [What is Cloud Foundry?](/en/topics/application-modernization/what-is-cloud-foundry)
* [What is Kubeflow?](/en/topics/cloud-computing/what-is-kubeflow)
* [What are microservices?](/en/topics/microservices/what-are-microservices)
* [What is container security?](/en/topics/security/container-security)
* [OpenShift vs. OpenStack: What are the differences?](/en/technologies/cloud-computing/openshift/openshift-vs-openstack)
* [What are sandboxed containers](/en/topics/containers/sandboxed-containers)
* [Kubernetes vs OpenStack](/en/topics/openstack/kubernetes-vs-openstack)
* [What are validated patterns?](/en/topics/cloud-computing/what-are-validated-patterns)
* [Understanding Ansible, Terraform, Puppet, Chef, and Salt](/en/topics/automation/understanding-ansible-vs-terraform-puppet-chef-and-salt)
* [Ansible vs. Chef: What you need to know](/en/topics/automation/ansible-vs-chef)
* [Ansible vs. Salt: What you need to know](/en/topics/automation/ansible-vs-salt)
* [Kubernetes on AWS: Self-Managed vs. Managed Applications Platforms](/en/topics/containers/kubernetes-on-aws)
* [What is Linux?](/en/topics/linux/what-is-linux)
* [What's the best Linux distro for you?](/en/topics/linux/whats-the-best-linux-distro-for-you)
* [What is an image builder?](/en/topics/linux/what-is-an-image-builder)
* [Ansible vs. Puppet: What you need to know](/en/topics/automation/ansible-vs-puppet)
* [Red Hat OpenShift vs. OKD](/en/topics/containers/red-hat-openshift-okd)
* [Red Hat OpenShift vs. Kubernetes: What's the difference?](/en/technologies/cloud-computing/openshift/red-hat-openshift-kubernetes)
* [Why run Apache Kafka on Kubernetes?](/en/topics/integration/why-run-apache-kafka-on-kubernetes)
* [What is Apache Kafka?](/en/topics/integration/what-is-apache-kafka)
* [What is high availability and disaster recovery for containers?](/en/topics/containers/high-availability-containers)
* [Spring on Kubernetes with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/spring)
* [Ansible vs. Terraform, clarified](/en/topics/automation/ansible-vs-terraform)
* [What is a golden image?](/en/topics/linux/what-is-a-golden-image)
* [Ansible vs. Red Hat Ansible Automation Platform](/en/technologies/management/ansible/ansible-vs-red-hat-ansible-automation-platform)
* [What are Red Hat OpenShift cloud services?](/en/technologies/cloud-computing/openshift/what-are-red-hat-openshift-cloud-services)
* [VNF and CNF, what’s the difference?](/en/topics/cloud-native-apps/vnf-and-cnf-whats-the-difference)
* [What is a container registry?](/en/topics/cloud-native-apps/what-is-a-container-registry)
* [What is Skopeo?](/en/topics/containers/what-is-skopeo)
* [What are Red Hat OpenShift Operators?](/en/technologies/cloud-computing/openshift/what-are-openshift-operators)
* [Using Helm with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/helm)
* [Kubernetes security best practices](/en/topics/containers/kubernetes-security-best-practices)
* [What is Grafana?](/en/topics/data-services/what-is-grafana)
* [Orchestrating Windows containers on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/windows-containers-on-red-hat-openshift)
* [What is open source software?](/en/topics/open-source/what-is-open-source-software)
* [What is a Kubernetes operator?](/en/topics/containers/what-is-a-kubernetes-operator)
* [Open source vs. proprietary software in vehicles](/en/topics/open-source/open-source-vs-proprietary-software-in-vehicles)
* [High performance computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/high-performance-computing)
* [Advantages of Kubernetes-native security](/en/topics/containers/advantages-of-kubernetes-native-security)
* [What is KubeLinter?](/en/topics/containers/what-is-kubelinter)
* [Intro to Kubernetes security](/en/topics/containers/intro-kubernetes-security)
* [Container and Kubernetes compliance considerations](/en/topics/containers/compliance)
* [How microservices support IT integration in healthcare](/en/topics/microservices/microservices-in-healthcare)
* [Kubernetes cluster management](/en/technologies/cloud-computing/openshift/kubernetes-cluster-management)
* [Red Hat OpenShift on IBM IT infrastructure](/en/technologies/cloud-computing/openshift/what-is-red-hat-openshift-on-IBM-IT-infrastructure)
* [Red Hat OpenShift for business leaders](/en/technologies/cloud-computing/openshift/business-leaders)
* [How to deploy Red Hat OpenShift](/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
* [Cost management for Kubernetes on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/cost-management)
* [What makes Red Hat OpenShift the right choice for IT operations?](/en/technologies/cloud-computing/openshift/it-operations)
* [Why choose Red Hat for Kubernetes?](/en/topics/containers/why-choose-red-hat-kubernetes)
* [What makes Red Hat OpenShift the right choice for SAP?](/en/technologies/cloud-computing/openshift/sap)
* [Kubernetes-native Java development with Quarkus](/en/technologies/cloud-computing/openshift/quarkus)
* [What is enterprise Kubernetes?](/en/topics/containers/what-is-enterprise-kubernetes)
* [What is RKT?](/en/topics/containers/what-is-rkt)
* [What is Kubernetes role-based access control (RBAC)](/en/topics/containers/what-kubernetes-role-based-access-control-rbac)
* [What is Kogito?](/en/topics/automation/what-is-kogito)
* [What is containerization?](/en/topics/cloud-native-apps/what-is-containerization)
* [What was CoreOS and CoreOS container Linux](/en/technologies/cloud-computing/openshift/what-was-coreos)
* [Learning Kubernetes basics](/en/topics/containers/learning-kubernetes-tutorial)
* [What is service-oriented architecture?](/en/topics/cloud-native-apps/what-is-service-oriented-architecture)
* [What is the Kubernetes API?](/en/topics/containers/what-is-the-kubernetes-api)
* [What is Kubernetes cluster management?](/en/topics/containers/what-is-kubernetes-cluster-management)
* [What is a Kubernetes deployment?](/en/topics/containers/what-is-kubernetes-deployment)
* [Why choose the Red Hat build of Quarkus?](/en/topics/cloud-native-apps/why-choose-red-hat-quarkus)
* [Introduction to Kubernetes architecture](/en/topics/containers/kubernetes-architecture)
* [What is CaaS?](/en/topics/cloud-computing/what-is-caas)
* [Introduction to Kubernetes patterns](/en/topics/cloud-native-apps/introduction-to-kubernetes-patterns)
* [What is a Kubernetes cluster?](/en/topics/containers/what-is-a-kubernetes-cluster)
* [What is Quarkus?](/en/topics/cloud-native-apps/what-is-quarkus)
* [What is Jaeger?](/en/topics/microservices/what-is-jaeger)
* [What is open source?](/en/topics/open-source/what-is-open-source)
* [What is Clair?](/en/topics/containers/what-is-clair)
* [What is Knative?](/en/topics/microservices/what-is-knative)
* [What is etcd?](/en/topics/containers/what-is-etcd)
* [What is container-native virtualization?](/en/topics/containers/what-is-container-native-virtualization)
* [Why choose Red Hat for microservices?](/en/topics/microservices/why-choose-red-hat-microservices)
* [Why choose Red Hat for containers?](/en/topics/containers/why-choose-red-hat-containers)
* [What is Docker?](/en/topics/containers/what-is-docker)
* [What is a Kubernetes pod?](/en/topics/containers/what-is-kubernetes-pod)
[More about this topic](/en/topics/open-source "More about this topic")