Podman finally works with docker-compose
Hello, I’m Kristof, a human being like you, and an easy to work with, friendly guy.
I've been a programmer, a consultant, CIO in startups, head of software development in government, and built two software companies.
Some days I’m coding Golang in the guts of a system and other days I'm wearing a suit to help clients with their DevOps practices.
One of the big pains of podman was that while it replaces docker, nobody actually uses docker standalone -- everyone uses (at least) docker-compose.yml, because it's incredibly rare that you don't need at least a DB for any app too.
Since Ubuntu 22.04, podman can now work nicely with docker-compose. On Ubuntu 22.04, where I tested it, the following steps were necessary to set it up properly:
First, install the packages (running as root):
apt install -y podman-docker docker-compose
Then, at least on lxd containers, this was needed to avoid a "storage driver overlay failed: kernel does not support overlay fs: 'overlay' is not supported over extfs at "/var/lib/containers/storage/overlay": backing file system is unsupported for this graph driver" error:
cat >>/etc/containers/storage.conf <<EOF
[storage]
driver = "overlay"
[storage.options]
mount_program = "/usr/bin/fuse-overlayfs"
EOF
For some reason (khm RedHat khm), podman is not set up to use the docker hub registry by default, so we have to add it manually:
echo 'unqualified-search-registries = ["docker.io"]' >>/etc/containers/registries.conf
Finally, to play nicely with docker-compose, we need to start the simulated docker.socket:
systemctl start podman.socket
This actually enabled to all docker-compose.yml I had lying around to work with podman.
We can argue about podman vs docker (I'm actually not a big podman fan as of 2022), but before making it work with docker-composer, podman was nearly unusable for us.