无法安装 Docker Compose v2:“插件无效,执行格式错误”

Adr*_*enW 6 docker docker-compose ubuntu-20.04

docker compose我按照docs.docker.com (Ubuntu 20.04) 上的说明安装了新的CLI ,但无法使用该插件。

该命令docker compose help显示:

$ docker compose help
docker: 'compose' is not a docker command.
See 'docker --help' 
Run Code Online (Sandbox Code Playgroud)

运行时docker help,我得到:

$ docker help

Usage:  docker [OPTIONS] COMMAND

[[ OMMITTED NORMAL OUTPUT ]]

Invalid Plugins:
  compose     failed to fetch metadata: fork/exec /home/myname/.docker/cli-plugins/docker-compose: exec format error

Run 'docker COMMAND --help' for more information on a command.

To get more help with docker, check out our guides at https://docs.docker.com/go/guides/
Run Code Online (Sandbox Code Playgroud)

在 root 下安装/usr/local/lib/docker/cli-plugins并运行命令时相同。

我目前使用docker版本20.10.7和docker-compose版本1.28.0。

我究竟做错了什么?如何让新人compose发挥作用?

Adr*_*enW 7

使用版本 2.0.1而不是 2.0.0解决了该问题

在文档更新之前,只需更改 cURL 命令即可下载更新版本:

curl -SL https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
Run Code Online (Sandbox Code Playgroud)

原因是 Github 版本中缺少资产。

奇迹般有效:

$ docker compose version
Docker Compose version v2.0.1
Run Code Online (Sandbox Code Playgroud)

编辑:截至 2021 年 10 月 26 日,文档已更新以链接到正确的下载工件。这个答案对于工件丢失的情况仍然有效,这可能会在未来的版本或其他插件中发生。