Docker on Windows and Mac also runs containers through a VM though. (It’s more obvious on Windows, where you need WSL (powered by a VM) and Hyper-V (a way to run VMs on Windows). But on a Mac, VMs to run Linux are also used to run Docker containers inside the VM.)
Podman Desktop helps to abstract VMs away on Windows and macOS: https://podman-desktop.io/
For the command line, there’s “podman machine” to abstract away the VM. https://podman.io/docs/installation (installing on macOS is mentioned on that page and Windows has a link to more docs which also uses the podman machine command.)
As for Docker compose, you can use it directly with Podman too: https://www.redhat.com/sysadmin/podman-docker-compose (there’s also podman-compose as well). The only thing Docker compose doesn’t support with Podman is swarm functionality.
Docker compose can even work with rootless Podman containers on a user account. It requires an environment variable. https://major.io/p/rootless-container-management-with-docker-compose-and-podman/ (it’s basically enabling the socket for podman and using the environment variable to point at the user podman socket)
I basically gave up on podcasts on the desktop and only use AntennaPod on my phone. When I’m at my desktop, I have my phone paired with my computer via Bluetooth and play that way. I can pause it on my computer via KDE Connect (GSConnect on GNOME).
Bluetooth audio from phone to desktop works on Fedora Linux quite well. It probably works on other Linux distros too. I’m guessing it might also work on other OSes like Windows and macOS.
KDE Connect is available on Android, iOS, KDE (and can run on other desktops too), GNOME (via the GSConnect extension), Windows, and macOS.
This solves the syncing problem by sidestepping the need for it. My podcast state is always correct and I always have my podcasts with me, even when out and about.