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

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(-engine)的工具,但没有包含在docker的发行版中。

以下是安装手册的链接: https://docs.docker.com/compose/install/

TL; diana:

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/bin/docker-compose

(1.8.0将在未来更改)

您还需要安装Docker Compose。请参阅说明书。下面是您需要执行的命令

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

注意: 确保指向GitHub版本的链接没有过时!在GitHub上查看最新版本。

我正在安装树莓派3和树莓8。curl方法对我来说失败了(得到了第一行:Not:命令没有在请求docker-compose——version时发现错误),@sunapi386的解决方案似乎有点过时,所以我尝试了这个工作:

首先清理之前的工作:

sudo rm /usr/local/bin/docker-compose
sudo pip uninstall docker-compose

然后在Rpi上遵循以下指导:

sudo apt-get -y install python-pip
sudo pip install docker-compose

对我来说(2017年11月1日),这导致了以下对docker-compose——version的响应:

docker-compose version 1.16.1, build 6d1ac219

他们改变了语法。现在它是这样写的:

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命令(:

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