** 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

Reply via email to