Podman is a lot like Docker: a tool for running OCI containers. While it maintains backwards compatibility with Dockerfile and docker-compose syntax, it offers a lot of other benefits:
- daemonless: it can run containers without a daemon process running in the background.
- Rootless: can run containers without root privileges
- pods: can group containers into secluded pods, which share resources and network namespace
Podman has other features I haven’t explored yet, like compatibility with Kubernetes yaml file, and being able to run containers as systemd units.
Have you used podman before? What are your thoughts on it?
Docker has rootless containers, too, although I think Podman has slightly better options for unprivileged uid management.
Daemonless is appealing, especially for low-powered servers. Getting rid of Docker’s background resource usage is the main reason Podman is on my to-do list.
I imagine pods could be handy to reduce network configuration for related services.
I like that the tools exist to make Podman a drop-in replacement for Docker, including the building of containers.
I have no interest in systemd; I hope it’s optional.
In kubernetes, I often use multiple containers in a pod only to have init containers check certain status of other servers before running the main container. For example, making sure a database is online and I can query data from it. You can just add this to your main container’s start script though. Docker has a way to do this sort of thing too but it feels clunky.
I have not used Docker rootless, but I imagine podman has much better and more flexible network configuration as well?
On systemd, I actually do not use systemd either, hence why I said I never tried those features. It is not a hard requirement at all. Though I have not tried to use any integrations with OpenRC and podman