我已经在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

当前回答

首先请检查docker-compose是否安装,

$ docker-compose -v

如果没有安装,请参考安装指南https://docs.docker.com/compose/install/ 如果安装,则给予二进制文件可执行权限。

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

检查一下是否有效。

其他回答

如果你通过将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

官方文件显示:

如果您为Windows或Mac安装了Docker Desktop/Toolbox,则您需要 已经有Docker Compose!Play-with-Docker实例已经有了 Docker Compose也安装了。如果您使用的是Linux机器,那么您 需要安装Docker Compose。

为此,您需要参考预先存在的Docker安装部分。

在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-compose最新版本,只需运行:

export docker_compose_latest=$(curl -Ls -o /dev/null -w %{url_effective}  https://github.com/docker/compose/releases/latest  | grep -o '[^/]*$')
curl -L "https://github.com/docker/compose/releases/download/${docker_compose_latest}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

它将安装最新版本的docker-compose。正式安装方式需自行获取版本。但是我写了一个脚本,可以自动获取最新版本。

只需使用brew:

brew install docker-compose