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.