“docker:‘compose’ 不是 docker 命令。”如何使用别名“docker compose”?

“docker:‘compose’ 不是 docker 命令。”如何使用别名“docker compose”?

我正在跟进本指南为了在 Azure 中部署 docker-compose 应用程序,命令

docker compose up

在 Azure 容器实例 (ACI) 中未找到。

我收到以下错误:

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

不过我之前已经将上下文切换为:

docker context use "azuremycontext"

此外,我无法执行命令

docker context create aci azuremycontext

我的 Linux 中 Docker 没有此选项。我这里遗漏了什么?我猜它不仅仅与 ACI 相关,而是与 docker-compose 本身相关?

答案1

所以我找到了解决方案并想分享它:

您必须安装 docker aci 集成才能使用“docker compose”和“docker create context aci [contextname]”。您可以按如下方式安装它:

curl -L https://raw.githubusercontent.com/docker/compose-cli/main/scripts/install/install_linux.sh | sh

答案2

取自使用便捷脚本安装时,‘compose’ 不是 docker 命令 · 问题 #8630,这显示了撰写本文时(08/2022)投票最多且最新的答案。

如果你的 docker-compose 版本还不支持中间不带破折号的“docker compose”,你可以通过安装插件来获得“docker-compose”的别名“docker compose”。

如果你看到:

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

你需要:

sudo apt-get install docker-compose-plugin

例如使用以下命令检查插件:

$ docker compose version
Docker Compose version v2.6.0

相关内容