docker / for-mac

Bug reports for Docker Desktop for Mac
https://www.docker.com/products/docker#/mac
2.42k stars 116 forks source link

docker-compose command not found #7345

Open daeho-ro opened 1 week ago

daeho-ro commented 1 week ago

Description

When upgrade docker to 4.32.0, there is no docker-compose command and I confirmed that the .app package does not have one.

image

I am not sure if this change is intentional or if it is a side effect of removing com.docker.cli. Can anyone confirm this?

Reproduce

docker-compose
zsh: command not found: docker-compose

Expected behavior

No response

docker version

Client:
 Version:           27.0.3
 API version:       1.46
 Go version:        go1.21.11
 Git commit:        7d4bcd8
 Built:             Fri Jun 28 23:59:41 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.32.0 (157355)
 Engine:
  Version:          27.0.3
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       662f78c
  Built:            Sat Jun 29 00:02:44 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.7.18
  GitCommit:        ae71819c4f5e67bb4d5ae76a6b735f29cc25774e
 runc:
  Version:          1.7.18
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    27.0.3
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.15.1-desktop.1
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.28.1-desktop.1
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.32
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-debug
  desktop: Docker Desktop commands (Alpha) (Docker Inc.)
    Version:  v0.0.14
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-desktop
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.25
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.5
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.3.0
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-sbom
  scout: Docker Scout (Docker Inc.)
    Version:  v1.10.0
    Path:     /Users/daeho.ro/.docker/cli-plugins/docker-scout

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 27.0.3
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ae71819c4f5e67bb4d5ae76a6b735f29cc25774e
 runc version: v1.1.13-0-g58aa920
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 6.6.32-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 11
 Total Memory: 7.657GiB
 Name: docker-desktop
 ID: 83b2b64d-8962-4ad5-baea-0fdfbf26df59
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=unix:///Users/daeho.ro/Library/Containers/com.docker.docker/Data/docker-cli.sock
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

Diagnostics ID

67E16B9B-A03B-4D9E-8809-F784135F4E3D/20240707071016

Additional Info

No response

daeho-ro commented 1 week ago

https://github.com/Homebrew/homebrew-cask/pull/178583

dgageot commented 1 week ago

@daeho-ro have you tried docker compose instead? (see https://docs.docker.com/compose/migrate/)

daeho-ro commented 1 week ago

@dgageot It is, of course working but my question is why it is deleted even if the command is deprecated. I cannot find any statement and just want to know what happen.

dgageot commented 1 week ago

@daeho-ro I understand. @glours @ndeloof, was the removal planned? Should it have been listed in the release notes?

jbernardo95 commented 1 week ago

+1, running into this issue too 🙏

LikeAJohny commented 1 week ago

Same here. I used to work around this (or rather towards the deprecation) by creating a script /usr/local/bin/docker-compose simply running

docker compose "$@"

This however is now erroring as well:

Error: spawn Unknown system error -8
Code: Unknown system error -8
ndeloof commented 1 week ago

Compose v2 can run standalone as docker-compose and AFAICT this should be the case within Docker Desktop, but maybe recent removal for legacy compose-cli broke this ?

glours commented 1 week ago

@dgageot there is something wrong in the update process, the symlink should now point to the CLI plugin binary. I'll work with the Stability team to fix this

glours commented 1 week ago

As a workaround you can run the following command:

sudo ln -sf /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose
LikeAJohny commented 1 week ago

While this fixes the problem with running docker-compose at all, my projects now refuse to start due to undefined networks. Since the networks exist prefixed with the project name (just as before) I assume there's something else going wrong with the cli plugin.

ndeloof commented 1 week ago

@LikeAJohny please report error running you application on github.com/docker/compose with error details so we can investigate

LikeAJohny commented 1 week ago

@ndeloof Did so :+1:

LikeAJohny commented 1 week ago

Closed the bug ticket since the error originated from an error on my behalf, sorry!

sc250024 commented 5 days ago

Getting this too!

Chienle commented 2 days ago

As a workaround you can run the following command:

sudo ln -sf /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose

Thank you so much !

pepijn-vanvlaanderen commented 1 day ago

Is this really an issue or should we just start using docker compose instead? And if you like to use the dashed command you can ofc create an alias to this as well.

dotconde commented 1 day ago

I'm following along with this question ☝🏻.

kingtistel commented 1 day ago

Is this really an issue or should we just start using docker compose instead? And if you like to use the dashed command you can ofc create an alias to this as well.

We have a bunch of scripts executing docker-compose in our CI/CD. And shell aliases (depending on how IT sets it up) are usually only loaded in interactive shells.

brock-bouchard commented 22 hours ago

Are there plans to fix this? I understand there may be intent for users to migrate to docker compose, but isn't that a breaking change that should be go in a major version bump (e.g. 5.0.0)?