My #1 complaint by far is that it --- pretty much silently --- depends on systemd to work correctly.

Try having a docker-compose with a service that waits until a dependency is healthy --- in a host that has no systemd (such as Alpine Linux).

The service will never start because Podman relies on systemd (and only systemd) to do the periodic healthchecks which it needs to do in order to handle such dependencies.

And of course, this fact isn't adequately documented anywhere. And Red Hat says they'll never, ever drop this dependency.

---

But I don't know if there are any tools compatible with the Docker ecosystem other than Podman. I'd love to find one.

Yeah that's an unfortunate downside of the daemon-less design. Service management (like dependencies, health checks, etc) are outsourced to systemd since there's nothing locally available to monitor them. The fact that the documentation doesn't mention this is a major miss.

For anyone curious, there's more details on why this is tricky to do with Podman at https://github.com/podman-container-tools/podman/pull/27033 .

On macOS, there's Orbstack, which is ridiculously compatible (I believe it's based on the same moby engine underneath). On Linux there's oodles of options for working with OCI containers, but nothing else I know of that's compatible with the docker API or CLI.