通过 docker-compose-plugin 安装 docker compose v2

通过 docker-compose-plugin 安装 docker compose v2

我已经从 Docker apt 存储库安装了docker-cedocker-compose以及Ubuntu 22.04 上的软件包,遵循docker-compose-plugin官方说明,但是当我docker compose在命令行中输入时,我得到的只是:

docker: 'compose' is not a docker command.
See 'docker --help'

根据docker plugin ls,没有安装任何插件。有什么线索吗?

一些附加信息:

  • bash-completion 确实建议compose作为一个可能的子命令
  • 有一个可执行docker-compose文件 /usr/libexec/docker/cli-plugins/
  • 的输出dpkg -l | grep docker如下:
    ii  docker-buildx-plugin                                        0.10.2-1~ubuntu.22.04~jammy                                    amd64        Docker Buildx cli plugin.
    ii  docker-ce                                                   5:23.0.1-1~ubuntu.22.04~jammy                                  amd64        Docker: the open-source application container engine
    ii  docker-ce-cli                                               5:23.0.1-1~ubuntu.22.04~jammy                                  amd64        Docker CLI: the open-source application container engine
    ii  docker-ce-rootless-extras                                   5:23.0.1-1~ubuntu.22.04~jammy                                  amd64        Rootless support for Docker.
    ii  docker-compose-plugin                                       2.16.0-1~ubuntu.22.04~jammy                                    amd64        Docker Compose (V2) plugin for the Docker CLI.
    ii  docker-scan-plugin                                          0.23.0~ubuntu-jammy                                            amd64        Docker scan cli plugin.

答案1

检查输出结果后,docker info我找到了问题的解决方案。它确实包含以下行:

WARNING: Plugin "/home/aldo/.docker/cli-plugins/docker-compose" is not valid: failed to fetch metadata: fork/exec /home/aldo/.docker/cli-plugins/docker-compose: permission denied

我不确定是什么导致了这个问题,但目录中~/.docker/cli-plugins/有一个docker-compose文本文件,只包含“未找到”字样。只需将其删除即可解决我的问题,现在 docker 可以找到插件可执行文件的默认路径/usr/libexec/docker/cli-plugins/docker-compose

相关内容