TL;DR

Docker Compose support lands in Podman 3.0.0 (dev as of 3rd Feb, GA soon). It can finally work seamlessly with Docker Compose as drop-in replacement to orchestrate containers.

NOTE: Initial support, rootless not yet supported.

main()

What is podman?

Daemonless container engine for managing OCI compliant containers on Linux.

For a long time, missing Docker Compose equivalent feature (to orchestrate multiple containers on single container runtime host) is a deal-breaker.

The podman-compose script is an option but it’s nowhere near drop-in replacement. Lost count on how many times I had to modify the docker-compose.yml file to make it work.

Docker CE had been working well for my use cases for a long time (Dockerfile, Compose, etc.).

Reason why I started using podman: Fedora 31 onwoards, Docker CE started to hit cgroup v2 support issue, the removal of docker-ce from official DNF repo ative package / repo issues (lag behind).

Enable podman.socket which implements Docker REST API and exposes a UNIX domain socket as backend, to provide feature parity (still daemonless?) ;-)

It can also generate YAML (and systemd units) to streamline the workflow to migrate from dev to production, from workstation to single host container runtime engine and/or production k8s clusters.

NOTE: Not all distributions provides podman-compose package (Arch / Manjaro and Fedora do AFAIK).

Podman alone cannot replace Docker CE. You’ll need the complete next generation container toolchain: Podman, Buildah (building OCI container images), Skopeo (working with remote contianer registries).

EOF