** Description changed: + [ Impact ] + + While upstream supports it, Ubuntu's docker-compose-v2 cannot be used + with different packages providing Docker compatible interfaces (e.g., + podman + podman-docker) because docker-compose-v2 Requires docker.io and + the latter cannot be removed to be replaced with an alternative to be + used with docker-compose-v2. + + [ Test Plan ] + + Reproducing: + Install docker-compose-v2. + Then install podman-docker. + apt will remove docker.io and docker-compose-v2. + + Verifying the fix: + Install docker-compose-v2. + Then, install podman-docker. + Verify that apt only removes docker.io now (docker-compose-v2 remains installed). + + [ Where problems could occur ] + + Users installing docker-compose-v2 without the recommended packages will + not have a completely functional docker-compose command as they would + usually expect unless they are also installing a compatible container + runtime. + + [ Other Info ] + + N/A + + [ Original Message ] + Dear maintainer, I believe that "docker-compose-v2" should not have "docker.io" as a hard dependency, as it can be used along with other packages that provide a Docker-compatible API, such as "podman". Aside from the disk space use, requiring "docker.io" is also inconvenient because: * The Docker daemon is enabled by default as a systemd service. * It makes it impossible to install "podman-docker" and "docker-compose-v2 simultaneously, even though they are a sensible combination. The "docker-compose" package (v1) does not suffer from this issue as it declares "docker.io" as a recommended dependency. I suggest doing the same, or at least having "docker-compose-v2" require either "docker.io" or "podman". Below is an example showing how "docker-compose-v2" can be used with "podman" without "docker.io" on Ubuntu 24.04.1: ``` # apt install -y podman # apt download docker-compose-v2 # dpkg -i --ignore-depends=docker.io docker-compose-v2*.deb # mkdir my-project && cd my-project # cat <<EOF > docker-compose.yml services: - netcat: - image: busybox - command: nc -lk -p 12345 -e echo 'It works!' - ports: ["12345:12345"] + netcat: + image: busybox + command: nc -lk -p 12345 -e echo 'It works!' + ports: ["12345:12345"] EOF # podman compose up -d >>>> Executing external compose provider "/usr/libexec/docker/cli-plugins/docker-compose". Please refer to the documentation for details. <<<< [...] # nc localhost 12345 It works! ``` System and package details: ``` # lsb_release -rd No LSB modules are available. Description: Ubuntu 24.04.1 LTS Release: 24.04 # apt-cache policy docker-compose-v2 docker-compose-v2: - Installed: 2.24.6+ds1-0ubuntu2 - Candidate: 2.24.6+ds1-0ubuntu2 - Version table: - *** 2.24.6+ds1-0ubuntu2 500 - 500 http://es.archive.ubuntu.com/ubuntu noble/universe amd64 Packages - 100 /var/lib/dpkg/status + Installed: 2.24.6+ds1-0ubuntu2 + Candidate: 2.24.6+ds1-0ubuntu2 + Version table: + *** 2.24.6+ds1-0ubuntu2 500 + 500 http://es.archive.ubuntu.com/ubuntu noble/universe amd64 Packages + 100 /var/lib/dpkg/status ``` Regards.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2079929 Title: docker-compose-v2 should depend on "docker.io | podman" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/docker-compose-v2/+bug/2079929/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
