-
Couldn't load subscription status.
- Fork 5.5k
Description
Is your feature request related to a problem? Please describe.
I would like to use docker-compose and existing docker-compose.yml files with podman
(which supports socketless and rootless builds and containers, which are preferable for certain configurations where centralized logging and monitoring through the docker socket is not as important and systemd services are sufficient).
Describe the solution you'd like
Specify an environment variable or a CLI option to call podman instead of docker:
DOCKER_COMPOSE_DRIVER=podman
docker-compose --driver=podman(And implement whichever interface/driver/adapter/plugin pattern is appropriate to call podman with subprocess instead of making socket API requests)
Where podman doesn't support a docker (swarm,) feature, just throw an error message that links to this or the meta-issue for podman support.
Describe alternatives you've considered
-
There's podman-compose, which is not at feature parity and really shouldn't need to be separately maintained.
-
There's kompose, which could be useful with e.g. k3s (which recently gained SELinux support) for smaller dev setups where uptime during upgrades is not a priority.
Additional context
Podman: https://github.com/containers/libpod :
Supporting docker-compose. We believe that Kubernetes is the defacto standard for composing Pods and for orchestrating containers, making Kubernetes YAML a defacto standard file format. Hence, Podman allows the creation and execution of Pods from a Kubernetes YAML file (see podman-play-kube). Podman can also generate Kubernetes YAML based on a container or Pod (see podman-generate-kube), which allows for an easy transition from a local development environment to a production Kubernetes cluster. If Kubernetes does not fit your requirements, there are other third-party tools that support the docker-compose format such as kompose and podman-compose that might be appropriate for your environment.
"Refactor to be called as an interface implementation from docker-compose"
containers/podman-compose#126