我已经从 Docker apt 存储库安装了docker-ce
,docker-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
。