←back to thread

180 points teleforce | 8 comments | | HN request time: 0.001s | source | bottom
Show context
orthoxerox ◴[] No.43685880[source]
What is the killer feature that will make me want to switch from Docker Compose to Podman Quadlets?
replies(7): >>43685989 #>>43685992 #>>43686728 #>>43687129 #>>43687706 #>>43688911 #>>43690483 #
dharmab ◴[] No.43685989[source]
I prefer quadlet for 2 reasons:

1. Podman is simpler than Docker. There is no long-running daemon. Rootless is default.

2. Quadlets can be managed as systemd services, giving me the same tools to manage and view logs for system daemons and containers.

Quadlets have been especially nice for bundling up an AI app I wrote as a cloud-init file, making it easy to deploy the hardware, software and models as one artifact.

replies(2): >>43686670 #>>43687155 #
pydry ◴[] No.43686670[source]
quadlets == systemd which requires root to run. this is NOT the same thing as "systemd cant run non root containers". OBVIOUSLY it can, just as docker can run non root containers.

Making systemd a necessary dependency to run > 1 container kinda negates many of the the nice advantages that podman has of not requiring root.

podman compose doesnt require root and would serve as a substitute but it's a very neglected piece of software.

replies(3): >>43686855 #>>43686924 #>>43686928 #
voxadam ◴[] No.43686924[source]
systemd user units can be run by non-root users.

https://wiki.archlinux.org/title/Systemd/User

replies(1): >>43686977 #
pydry ◴[] No.43686977[source]
not the point as i mentioned above.

systemd itself requires root.

replies(3): >>43687015 #>>43687216 #>>43687686 #
voxadam ◴[] No.43687015[source]
Installing packages (like podman or moby/docker) using dnf and apt requires root as well, so I'm not sure what your point is.
replies(1): >>43687039 #
1. pydry ◴[] No.43687039[source]
making systemd - a root service - a necessary dependency in order to orchestrate > 1 nonroot containers is both unnecessary and bad architecture.

It was a shitty decision that renders it just "a less popular docker" and not "a better docker".

replies(2): >>43687114 #>>43687211 #
2. linuxandrew ◴[] No.43687114[source]
Podman doesn't have a dependency on systemd. e.g. it is packaged in Void Linux.

Podman has a better architecture than Docker in that it can easily run on a non-privileged user.

Quadlet (aka podman-systemd.unit) is a podman-systemd integration which can make it easy to launch and orchestrate podman containers via systemd. You can get all if the systemd dependency handling, require other units to run after a container finishes, and all sorts of other useful things. Systemd "user" units (systemctl --user) also works here with the containers running as a non-privileged user in a non-root systemd context.

Just to be clear, Quadlet is just an integration and you can still run podman without it. You can still run podman on non-systemd systems as well.

replies(2): >>43687516 #>>43689894 #
3. exceptione ◴[] No.43687211[source]
wut? Containers need an operating system.

systemd runs on a linux host, the rootless container runs on a linux host, controlled by `systemctl --user ...`.

replies(1): >>43725344 #
4. dharmab ◴[] No.43687516[source]
And you can use podman to run multiple containers together (as a Pod). With or without systemd.
5. pydry ◴[] No.43689894[source]
>Podman doesn't have a dependency on systemd

Just to be clear we're talking about QUADLETS, red hat's recommended way to orchestrate containers.

>Just to be clear, Quadlet is just an integration and you can still run podman without it.

Just to be clear, nobody was unclear about that.

It is, just to be clear, red hat's recommended way to orchestrate podman containers despite having this nasty dependency analogous to the one docker has on a root service.

Hope that helps.

replies(1): >>43691517 #
6. coldtea ◴[] No.43691517{3}[source]
>Just to be clear, nobody was unclear about that

Oh, you were quite unclear. Also wrong in saying you need systemd with podman to orchestrate multiple containers without root.

>It is, just to be clear, red hat's recommended way to orchestrate podman containers despite having this nasty dependency analogous to the one docker has on a root service.

It's not "red hat's recommended way to orchestrate podman containers" in general. It's "red hat's recommended way to orchestrate containers on top of systemd", that its whole point.

Nothing nasty about it either, you'd already be running systemd on your redhat system (and many non red-hat ones).

replies(1): >>43696520 #
7. pydry ◴[] No.43696520{4}[source]
>Also wrong in saying you need systemd with podman to orchestrate multiple containers without root

I explicitly said thay it wasnt needed and that there werent other ways just that it was the recommended way.

>It's not "red hat's recommended way to orchestrate podman containers

It is.

8. esseph ◴[] No.43725344[source]
But you don't understand, it also needs an operating system therefore it is vulnerable, because things on it run as root! /s