News for hackers. Stuff that matters.
Re:BuildKit in depth: Docker's build engine explained by 4oo4 on Tuesday February 06, 2024 @03:24PM (#39280042)
Well said, these are the reasons I use podman/buildah now.
Re:BuildKit in depth: Docker's build engine explained by EdwardDiego on Tuesday February 06, 2024 @04:54PM (#39281231)
Was it a drop in replacement or did you need to give things a jiggle to get it going?
Re:BuildKit in depth: Docker's build engine explained by abound on Tuesday February 06, 2024 @07:49PM (#39283068)
Similar 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.

Re:BuildKit in depth: Docker's build engine explained by nicce on Tuesday February 06, 2024 @08:02PM (#39283151)
Only 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

Re:BuildKit in depth: Docker's build engine explained by floating-io on Tuesday February 06, 2024 @08:15PM (#39283245)
I 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).

Re:BuildKit in depth: Docker's build engine explained by Narushia on Tuesday February 06, 2024 @05:42PM (#39281857)
I'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.
Re:BuildKit in depth: Docker's build engine explained by throwaway894345 on Tuesday February 06, 2024 @10:32PM (#39284135)
Honestly when I dug into the podman/buildah code it was just differently cursed. It was reallly disappointing.