3 ms·
Well said, these are the reasons I use podman/buildah now.
by 4oo4 3y ago
Well said, these are the reasons I use podman/buildah now.
- EdwardDiego 3y agoWas it a drop in replacement or did you need to give things a jiggle to get it going?
- Narushia 3y agoI've had a good experience with Podman as a Docker alternative. The Podman CLI is designed to be API-compatible with Docker's CLI, so most things should just work. The only thing I've had to change with my Dockerfiles (or Containerfiles) is the `SHELL` instruction, since Podman by default builds OCI images, and that instruction is not supported by the OCI standard. But you can still specify the shell individually for the `RUN` instructions, or even just use `--format=docker` if you don't want OCI images.
- abound 3y agoSimilar to sibling comment, mostly just works out of the box. Things I've noticed that are different: - There's no docker.sock API socket by default, which makes sense because Podman doesn't have Docker's daemon-based architecture. You can run one with `podman system service [...]` if you have non-CLI clients expecting to connect to some $DOCKER_HOST - Mounts/volumes behave subtly differently IIRC, I had a bunch of scripts that didn't work with podman-as-docker out of the box, I think the issue was that Docker will create some directories automatically that Podman won't? Aside from that, rootless Podman is great and I've had far fewer issues with it than I did for rootless Docker, only real caveat is that -p <some port> doesn't actually connect to the host, it's still namespaced. You have to use --net=host for actual host networking.
- nicce 3y agoOnly reason I have used buildx is the easy multi-arch for the same tag (big manifest). How to do this with Podman/buildah? The mount/volume issues are probably caused by SELinux / other security decisions
- floating-io 3y agoI recently took the plunge in a couple of my CI pipelines and had little trouble. The only thing that actually broke was that the `--cache-from` option doesn't accept a tag, where it does for docker. Everything else pretty much Just Worked. That said, my pipelines are fairly simple, as are my Dockerfiles, so... It shaved significant time off my pipelines, though, not having to wait for a docker-in-docker service to spin up (I use Gitlab with Kubernetes runners).
- throwaway894345 3y agoHonestly when I dug into the podman/buildah code it was just differently cursed. It was reallly disappointing.