我已经在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 [OPTIONS] COMMAND
docker compose ps

现在撰写是插件!但是其他的文档页有旧的语法。 我该如何支持兼容性?!

更新: 如果你运行脚本,它可以得到撰写命令:

# docker-compose.sh
if docker compose version > /dev/null ; then
    echo "docker compose"
else
    echo "docker-compose"
fi

# other.sh
DOCKER_C=$($BASEDIR/docker-compose.sh)
echo "docker command is: $DOCKER_C"

生活在拐杖上,感谢Docker命令(:

其他回答

只需使用brew:

brew install docker-compose

我正在安装树莓派3,在树莓操作系统上。curl方法没有解析为有效响应。它还说{错误:未找到},我看了一下URL https://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7l,它是无效的。我猜那里没有建筑。

这个指南https://github.com/hypriot/arm-compose对我很有用。

sudo apt-get update
sudo apt-get install -y apt-transport-https
echo "deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/hypriot.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
sudo apt-get update
sudo apt-get install docker-compose

安装Docker Compose v1,可以按照如下方式安装:

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

关于安装Docker Compose v2,可以参考这里。

关于新的compose和旧的docker-compose之间的命令兼容性,您可以参考这里。

如果你想自动安装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。正式安装方式需自行获取版本。但是我写了一个脚本,可以自动获取最新版本。

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

$ docker-compose -v

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

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

检查一下是否有效。