我已经在CentOS 7上安装了docker,运行如下命令:

curl -sSL https://get.docker.com/ | sh
systemctl enable docker && systemctl start docker
docker run hello-world

注意:helloworld运行正常,没有问题。

然而,当我试图运行docker-compose (docker-compose。yml存在并且有效)它只在CentOS上给了我错误(Windows版本的docker-compose文件工作良好)

/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

当前回答

在Linux上,您可以从GitHub上的Compose存储库发布页面下载Docker Compose二进制文件。按照链接中的说明操作,其中包括在终端上运行curl命令来下载二进制文件。这些分步指导也包括在下面。

1:执行此命令下载Docker Compose当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

若要安装不同版本的Compose,请将1.26.2替换为您想使用的Compose版本。

2:应用可执行权限的二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

注意:如果安装后命令docker-compose失败,请检查 你的路。您还可以创建到/usr/bin或任何的符号链接 路径中的其他目录。

其他回答

安装docker并不意味着你已经安装了docker-compose。它有一个先决条件,那就是你已经安装了docker引擎。之后,你可以按照这个链接为Centos 7安装docker-compose。

尝试在CentOS上使用curl per docker docs安装docker-compose(适用于Linux)。在这些步骤之后,它返回一个错误

docker-compose -v
/usr/local/bin/docker-compose: line 1: Not: command not found

有趣的是,docker-compose文件在第一行只包含“Not Found”(它应该是二进制文件)

cat /usr/local/bin/docker-compose
Not Found

这意味着我试图从github链接卷曲不存在。我失败的链接是:

sudo curl -L "https://github.com/docker/compose/releases/download/2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

在本地运行uname -s和uname -m可以看到需要添加到下载url中的内容

uname -s
Linux
uname -m
x86_64

在浏览器中尝试url https://github.com/docker/compose/releases/download/2.2.2/docker-compose-linux-x86_64 显示未找到该页面。

一个他们在版本中添加“v”的问题,如v2.2.2。所以下载url应该是v https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64。他们的发布:https://github.com/docker/compose/releases/

这是有效的(注意v2.2.2)

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
Docker Compose version v2.2.2

2022年5月更新

自2022年4月以来,docker compose V2是GA,现在它是docker桌面的一部分。你可以在这里看到所有相关信息。 Compose V1现在被标记为已弃用。

最初的回答:

Docker compose v1是一个单独的安装。要安装v1,请遵循此处的说明。

Docker compose v2目前是一个单独的安装,但当它准备好时,它将集成到Docker中。它被认为是一个docker插件。在这个时候,如果你想要docker撰写v2,因为这个提交你可以做:

sudo apt update \
&& sudo apt install docker-compose-plugin

用apt或相当于yum的词。这将以插件的形式安装新的docker compose V2。

我建议在Mac上使用官方pkg。我猜docker-compose默认情况下不再包含在docker中:https://docs.docker.com/toolbox/toolbox_install_mac/

如果你通过将docker的官方存储库添加到存储库列表来安装docker,如下所示:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

只做:

$ sudo apt-get install docker-compose

对于基于RHEL的发行版/ Fedora:

$ sudo dnf install docker-compose