{"slug": "buildah", "name": "Buildah", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "", "recommenders": 3, "commenters": 5, "warners": 0, "score": 3.082, "rising": -0.98, "first": "2025-12-18", "latest": "2026-04-23", "why": "I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 1, "compare": 1, "warn": 1}, "spark": [0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/containers/buildah", "official_url": "https://buildah.io/", "pricing": "", "aliases": ["Buildah", "buildah"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 766076736, "item_id": 47879796, "url": "https://news.ycombinator.com/item?id=47879796", "by": "jasomill", "date": "2026-04-23", "stance": "recommend", "quote": "providing straightforward command line tools to create containers", "excerpt": "For the package management, it depends on the package manager, but most have some mechanism for installing into a root other than the currently running system. Even without explicit support in the pacakage manager, you could also roll your own solution by running the package manager in a chroot environment, which would then need to be seeded with the package manager's own dependencies, of course (and use user-mode qe", "context": "", "use_case": "", "switched_from": "", "story": "Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image"}, {"id": 754720066, "item_id": 47170004, "url": "https://news.ycombinator.com/item?id=47170004", "by": "cyberax", "date": "2026-02-26", "stance": "recommend", "quote": "I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system.", "excerpt": "Buildkit... It sounds great in theory, but it JustDoesn'tWork(tm). Its caching is plain broken, and the overhead of transmitting the entire build state to the remote computer every time is just busywork for most cases. I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system. If you don't believe me, try to make caching work on Github with multi-stage images. Just", "context": "", "use_case": "container image builds", "switched_from": "BuildKit", "story": "BuildKit: Docker's Hidden Gem That Can Build Almost Anything"}, {"id": 740987473, "item_id": 46311717, "url": "https://news.ycombinator.com/item?id=46311717", "by": "exceptione", "date": "2025-12-18", "stance": "recommend", "quote": "buildah lets you build an efficient OCI image from scratch without needing root", "excerpt": "That sucks, I never had any problem running a Dockerfile in podman. I don't know what I do differently, but I would as a principle filter out any container that messes with stuff like docker in docker. Podman doesn't need these kind of shenegians. Also the Docker Compose tool is a well-know exception to the compatibility story. (There is some unofficial podman compose tool, but that is not feature complete and quadle", "context": "", "use_case": "Rootless OCI image builds", "switched_from": "", "story": "I got hacked: My Hetzner server started mining Monero"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 754445714, "item_id": 47152857, "url": "https://news.ycombinator.com/item?id=47152857", "by": "amluto", "date": "2026-02-25", "stance": "warn", "quote": "https://github.com/containers/buildah/issues/6460", "excerpt": "I\u2019ve encountered this one: https://github.com/containers/buildah/issues/6460 Also, there\u2019s Podman\u2019s decision to drop CNI support. Sure, I get that they want to support the full stack, but netavark is really not especially capable, and CNI allows all kinds of interesting (and frequently overcomplicated) things.", "context": "", "use_case": "", "switched_from": "", "story": "Red Hat takes on Docker Desktop with its enterprise Podman Desktop build"}]}], "who": [], "tags": [], "use_cases": ["building container images", "container image builds", "rootless oci image builds"], "compared": [{"slug": "podman", "name": "Podman", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "buildkit", "name": "BuildKit", "co": 2, "switched_from": 1, "switched_to": 0}, {"slug": "docker-compose", "name": "Docker Compose", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "docker", "name": "Docker", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47871519", "title": "Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47151163", "title": "Red Hat takes on Docker Desktop with its enterprise Podman Desktop build", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47166264", "title": "BuildKit: Docker's Hidden Gem That Can Build Almost Anything", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46317687", "title": "A faster path to container images in Bazel", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46305585", "title": "I got hacked: My Hetzner server started mining Monero", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1, "compare": 1}, "2026-01": {}, "2026-02": {"warn": 1, "recommend": 1}, "2026-03": {}, "2026-04": {"recommend": 1, "neutral": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 766083712, "item_id": 47880232, "url": "https://news.ycombinator.com/item?id=47880232", "by": "Qerub", "date": "2026-04-23", "stance": "neutral", "quote": "buildah from registry.access.redhat.com/ubi8/ubi-micro", "excerpt": "With Red Hat's UBI Micro: microcontainer=$(buildah from registry.access.redhat.com/ubi8/ubi-micro) micromount=$(buildah mount $microcontainer) yum install \\ --installroot $micromount \\ --releasever 8 \\ --setopt install_weak_deps=false \\ --nodocs -y \\ httpd (from https://www.redhat.com/en/blog/introduction-ubi-micro published in 2021)", "context": "", "use_case": "Building container images", "switched_from": "", "story": "Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image"}, {"id": 766076736, "item_id": 47879796, "url": "https://news.ycombinator.com/item?id=47879796", "by": "jasomill", "date": "2026-04-23", "stance": "recommend", "quote": "providing straightforward command line tools to create containers", "excerpt": "For the package management, it depends on the package manager, but most have some mechanism for installing into a root other than the currently running system. Even without explicit support in the pacakage manager, you could also roll your own solution by running the package manager in a chroot environment, which would then need to be seeded with the package manager's own dependencies, of course (and use user-mode qe", "context": "", "use_case": "", "switched_from": "", "story": "Arch Linux Now Has a Bit-for-Bit Reproducible Docker Image"}, {"id": 754720066, "item_id": 47170004, "url": "https://news.ycombinator.com/item?id=47170004", "by": "cyberax", "date": "2026-02-26", "stance": "recommend", "quote": "I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system.", "excerpt": "Buildkit... It sounds great in theory, but it JustDoesn'tWork(tm). Its caching is plain broken, and the overhead of transmitting the entire build state to the remote computer every time is just busywork for most cases. I switched to Podman+buildah as a result, because it uses the previous dead simple Docker layered build system. If you don't believe me, try to make caching work on Github with multi-stage images. Just", "context": "", "use_case": "container image builds", "switched_from": "BuildKit", "story": "BuildKit: Docker's Hidden Gem That Can Build Almost Anything"}, {"id": 754543056, "item_id": 47158941, "url": "https://news.ycombinator.com/item?id=47158941", "by": "amluto", "date": "2026-02-25", "stance": "neutral", "quote": "This was just fixed today :)", "excerpt": "> https://github.com/containers/buildah/issues/6460 This was just fixed today :)", "context": "", "use_case": "", "switched_from": "", "story": "Red Hat takes on Docker Desktop with its enterprise Podman Desktop build"}, {"id": 754445714, "item_id": 47152857, "url": "https://news.ycombinator.com/item?id=47152857", "by": "amluto", "date": "2026-02-25", "stance": "warn", "quote": "https://github.com/containers/buildah/issues/6460", "excerpt": "I\u2019ve encountered this one: https://github.com/containers/buildah/issues/6460 Also, there\u2019s Podman\u2019s decision to drop CNI support. Sure, I get that they want to support the full stack, but netavark is really not especially capable, and CNI allows all kinds of interesting (and frequently overcomplicated) things.", "context": "", "use_case": "", "switched_from": "", "story": "Red Hat takes on Docker Desktop with its enterprise Podman Desktop build"}, {"id": 742087441, "item_id": 46380465, "url": "https://news.ycombinator.com/item?id=46380465", "by": "cyberax", "date": "2025-12-24", "stance": "compare", "quote": "I've yet to see it work faster than podman+buildah", "excerpt": "Buildkit is still a separate system, unlike the old builder. So you get that extra step of importing the result back. And since it's a separate system, there are also these strange limitations. For example, I can't just cache pre-built images in an NFS directory and then just push them into the Buildkit context. There's simply no command for it. Buildkit can only pull them from a registry. > Buldkit is far more effic", "context": "", "use_case": "", "switched_from": "", "story": "A faster path to container images in Bazel"}, {"id": 740987473, "item_id": 46311717, "url": "https://news.ycombinator.com/item?id=46311717", "by": "exceptione", "date": "2025-12-18", "stance": "recommend", "quote": "buildah lets you build an efficient OCI image from scratch without needing root", "excerpt": "That sucks, I never had any problem running a Dockerfile in podman. I don't know what I do differently, but I would as a principle filter out any container that messes with stuff like docker in docker. Podman doesn't need these kind of shenegians. Also the Docker Compose tool is a well-know exception to the compatibility story. (There is some unofficial podman compose tool, but that is not feature complete and quadle", "context": "", "use_case": "Rootless OCI image builds", "switched_from": "", "story": "I got hacked: My Hetzner server started mining Monero"}]}