【问题标题】:docker-compose is installed but docker compose is not recognizeddocker-compose 已安装,但 docker compose 无法识别
【发布时间】:2021-11-15 22:54:46
【问题描述】:

运行docker compose up 得到docker: 'compose' is not a docker command.

但是docker-compose up 工作正常。

什么给了?我认为 compose 现在应该是 docker cli 的一部分。

如何运行docker compose up 并获得与docker-compose up 相同/相似的行为?

docker --version -> Docker version 20.10.10, build b485636f4b

docker-compose --version -> Docker Compose version 2.1.1

【问题讨论】:

标签: docker docker-compose


【解决方案1】:

这是因为我没有通过 docker 桌面安装 docker。

我正在为我的 docker 守护进程使用 minikube,以及基本的 docker cli。但是基本的cli(通过brew install docker安装)没有docker compose,这是docker桌面的一部分。

您可以在此处找到该信息的其余部分:

https://docs.docker.com/compose/cli-command/

【讨论】:

    【解决方案2】:

    Docker(在 cli 中是 docker)和 Docker Compose(在 cli 中是 docker-compose)是不同的东西。

    Docker 是容器运行的引擎

    Docker-compose 是这些容器的管理器或编排器

    这意味着你不能做docker compose,正确的命令是docker-compose

    我认为您对命令感到困惑

    使用docker(只有1个容器)启动容器的方式是

    docker run -ti ubuntu bash
    

    另一方面,你可以用 Docker compose 做同样的事情,但你需要一个 docker-compose.yml 文件,所有的配置都被写入,然后启动它

    docker-compose up
    

    总结一下

    Docker 和 docker compose 是两个不同的东西。你可以在这里找到更多信息What is the difference between docker and docker-compose

    【讨论】:

    • docs.docker.com/compose/cli-command "新的 Compose V2 支持 compose 命令作为 Docker CLI 的一部分,现已推出。...您可以通过简单地替换破折号 (-) 来测试 Compose V2带有空格,并通过运行 docker compose 而不是 docker-compose。”
    • @ForrestKeppler 哦,我不知道它存在!根据文档,您是否执行了此步骤? github.com/docker/compose-switch
    • 如果我错了,请纠正我,但这个开关是将 'docker-compose' 语句翻译成新的 'docker compose' 但我需要将 'docker compose' 翻译成 'docker-compose' 因为我没有docker 桌面已安装。
    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    • 2019-10-07
    相关资源
    最近更新 更多