无法安装 Docker Compose v2:“无效插件,执行格式错误”
Posted
技术标签:
【中文标题】无法安装 Docker Compose v2:“无效插件,执行格式错误”【英文标题】:Cannot install Docker Compose v2: "Invalid Plugin, exec format error" 【发布时间】:2021-11-30 01:47:03 【问题描述】:我按照docs.docker.com(Ubuntu 20.04)上的说明安装了新的docker compose
CLI,无法使用插件。
命令docker compose help
显示:
$ docker compose help
docker: 'compose' is not a docker command.
See 'docker --help'
运行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/
在/usr/local/lib/docker/cli-plugins
下安装并以 root 身份运行命令时相同。
我目前使用docker
20.10.7 版和docker-compose
1.28.0 版。
我做错了什么?如何让新的compose
工作?
【问题讨论】:
错误信息有一个插件文件名和exec format error
;插件到底是什么样的文件?需要解压,解压tar文件,还是别的什么?
@DavidMaze 这是一个从github.com/docker/compose/releases/tag/v2.0.0 下载的二进制文件——根据链接网站上的文档,不需要解压,只需chmod +x
你检查了吗? file ~/.docker/cli-plugins/docker-compose
?
@DavidMaze :o 你是对的:链接错误,2.0.0 版中不存在同名资产!显然已在 2.0.1 中修复...我错误地认为如果链接无效,curl
会崩溃。
【参考方案1】:
使用版本 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
原因是 Github 版本中缺少资产。
像魅力一样工作:
$ docker compose version
Docker Compose version v2.0.1
编辑:截至 2021 年 10 月 26 日,文档已更新为链接到正确的下载工件。此答案对于缺少工件的情况仍然有效,这可能会发生在未来的版本或其他插件中。
【讨论】:
以上是关于无法安装 Docker Compose v2:“无效插件,执行格式错误”的主要内容,如果未能解决你的问题,请参考以下文章
Testcontainers DockerComposeContainer 与 Docker Compose 版本 v2.0.0