5 ms·
podman has been an amazing project to follow. Since early 2020 I've been using it for rootless containers with no daemon on my Linux development environment. De
by aorth 5y ago
podman has been an amazing project to follow. Since early 2020 I've been using it for rootless containers with no daemon on my Linux development environment. Development pace is picking up and I get excited every time I get a notification from GitHub about a new tagged release.
As a bonus, the podman-compose script https://github.com/containers/podman-compose/ https://github.com/containers/podman-compose/ is getting good too!
- gizdan 5y agoYou do not need podman-compose, in fact it is quite inferior to docker-compose. Podman has added full docker-compose support, and in fact even the docker binary works with it. Rootfull works as of v3.0.0, rootless was added in 3.2.0. Rootless can be a bit buggy, but I believe they polished a lot of the issues for 3.3.0. Because they've re-implemented the docker api, it can actually work with any tool that uses docker's API.
- jackhalford 5y ago> Podman has added full docker-compose support any pointers as to how this works?
- rubenbe 5y agoIIRC it's emulating the docker socket and its API. As a consequence, you do need to have a podman daemon running. https://fedoramagazine.org/use-docker-compose-with-podman-to-orchestrate-containers-on-fedora/ https://fedoramagazine.org/use-docker-compose-with-podman-to... https://www.redhat.com/sysadmin/podman-docker-compose https://www.redhat.com/sysadmin/podman-docker-compose
- gizdan 5y agoAs rubenbe said, they implemented the docker API, thus you'll need to start a systemd socket. For rootless the steps are as simple as systemctl enable --now --user podman.socket export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock For rootfull just remove "--user" from the above command, and the socket is located at /var/podman/podman.sock Then you can run both docker and docker-compose commands. Traefik and other things that use the Docker API directly should be able to use it too. Any issues you can raise on the GitHub repo, they're a bunch of friendly folks and are pretty quick at addressing issues.
- aorth 5y agoSo, as long as you have the podman socket enabled, you can just run the literal docker-compose script with `podman` aliased to `docker`? Interesting and cool! I think I still prefer not having to enable the socket and export DOCKER_HOST, but I will think about it. The only problems I had with podman-compose in the past few months were related to syntax issues in the docker-compose.yml file (for example ports, image names without prefixes, etc).
- gizdan 5y agoNo, the podman socket is only necessary if you want to expose the docker API. This can then be used with the docker cli (or docker-compose). The podman cli interface is close to the docker cli interface, which is why you can do `alias docker=podman`. With the socket you would be using the official docker cli (or docker-compose), not the podman cli.
- cassianoleal 5y ago> Podman has added full docker-compose support Not quite. I just tried to run one of my compose files, and got an error at network creation: ERROR: network create only supports the bridge driver
- rubyist5eva 5y agolatest podman works with docker-compose OOTB