I keep reading about podman, yet it doesm't FEEL as mature to me as docker for a normal user like me. What's your opinion? Did you already switch or do you keep waiting for … for what? When will you switch?
I keep reading about podman, yet it doesm't FEEL as mature to me as docker for a normal user like me. What's your opinion? Did you already switch or do you keep waiting for … for what? When will you switch?
Podman is solid, just don't use podman-compose but rather utilize the Systemd integration for container management.
With very few exceptions, it works just as well as Docker these days.
The systemd integration is probably the thing I dislike most about it. 😆 Systemd has no business managing containers IMO, it should manage podman and podman should manage the containers. It's a completely gratuitous mix of concerns but it seems that podman is set on becoming a systemd subsystem… so I'll probably never use it.
On a related note, the systemd expansion is getting ridiculous. It's gotten to the point if you read one day that wayland is being merged into systemd you wouldn't even know if it's a joke.
A container is a service, makes perfect sense for me to manage that via Systemd like all other services.
Sure, anything can be a service if you want it to be hard enough. Like the bootloader.
Bet. Give me puppies as a service.
One of the reasons I use containers instead of installing things directly is that i can completely uninstall a service by deleting a single directory (that contains a compose.yml and any necessary volumes) and running a
docker/podman system prune -a
or that i can back up everything by backing up a single "containers" dir, which i could have on a subvolume and snapshot if i wanted to
systemd/quadlet on the other hand makes me throw files in /etc (which is where you're supposed to put them, but ends up resulting in them being tangled together with base system configuration often partially managed by the package manager)
The Solution™ to this is configuration management like ansible or whatnot, which needlessly overcomplicates things for the use cases i need (though they're still useful for getting a base system "container ready" wrt ssh hardening and such)
tldr: i want my base system to be separated from my services, and systemd integration is the exact wrong tool for this job
You might want to avoid looking into systemd-homed
It's not the "official" way to do it, but you can make systemd run Docker Compose (talking to Podman instead of Docker), which is pretty close to what you're talking about. And then you don't have to write stinky systemd INI files for each container.
But you don't need to have systemd run anything (except docker or podman itself). Just run containers with "restart: always" and docker/podman will start them on boot, restart them of they fail, and leave them alone if they're manually stopped.
You only need to run compose when you are [re]provisioning a container.
Podman does not start your containrs on boot. You need to do some magic yoursefel. Like a cronjob that starts all containers at boot.
When you used the Podman systemd integration it starts containers on boot just fine. You can even configure it to auto-update containers. Very hassle free.