aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/posts/2023-05-02-bookworm-and-podman.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/content/posts/2023-05-02-bookworm-and-podman.md b/content/posts/2023-05-02-bookworm-and-podman.md
new file mode 100644
index 0000000..459a698
--- /dev/null
+++ b/content/posts/2023-05-02-bookworm-and-podman.md
@@ -0,0 +1,50 @@
+---
+slug: bookworm-and-podman
+title: "Bookworm and Podman"
+date: "2023-05-02T01:27:00-04:00"
+---
+I've spent the last couple days fiddling with [Debian Bookworm
+RC2][bookworm] in a VM. No issues to report. It's shaping up to be
+a great release.
+
+I've been looking for a suitable [Docker][] replacement for a few years
+because of [their repeated license shenanigans][license-shenanigans].
+Last year I tried switching to [Podman][], but ran into into several
+incompatibilities and minor annoyances.
+
+[Podman 4.3][podman-4.3] ships with [Bookworm][] and seems to fix all
+the issues I had before. [Rootless containers][], [multi-stage
+builds][multi-stage], and all of my muscle-memory `docker` commands now
+work as expected.
+
+The only real differences I noticed are:
+
+1. The command is `podman` instead of `docker`.
+2. Image names are registry-prefixed. Example: `FROM docker.io/bash` instead of `FROM bash`.
+3. Searches are registry-prefixed. Example: `podman search docker.io/pablotron`.
+
+A couple of quick tests:
+
+* [Sinatra web application (rootless)][sinatra-test]
+* [Go web application (rootless, scratch, multi-stage build)][go-test]
+
+[bookworm]: https://www.debian.org/releases/bookworm/
+ "Debian bookworm."
+[debian]: https://debian.org/
+ "Debian Linux."
+[docker]: https://www.docker.com/
+ "Docker container manager."
+[podman]: https://podman.io/
+ "Podman container manager."
+[podman-4.3]: https://podman.io/releases/2022/10/22/podman-release-v4.3.0.html
+ "Podman version 4.3."
+[rootless containers]: https://developers.redhat.com/blog/2020/09/25/rootless-containers-with-podman-the-basics
+ "Rootless containers."
+[multi-stage]: https://docs.docker.com/build/building/multi-stage/
+ "Multi-stage build."
+[sinatra-test]: https://gist.github.com/pablotron/86cb0b355ac3e4cef3b28b3e0718314d
+ "Test Sinatra web application running in a Podman container."
+[go-test]: https://gist.github.com/pablotron/03785b66cc9e90ebd5fdaef5642baa6d
+ "Test Go web application running in a Podman container."
+[license-shenanigans]: https://blog.alexellis.io/docker-is-deleting-open-source-images/
+ "Docker is deleting Open Source organizations (updated)."