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

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

$ docker-compose -v

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

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

检查一下是否有效。

对于Ubuntu操作系统有很多建议,但我认为最简单的解决方案是创建一个别名。(如果docker compose已经安装)

步骤:

Ls -la在~目录中查看是否有.bash_aliases 如果不直接创建它(触摸,纳米…或者简单地使用gedit) gedit .bash_aliases (以上步骤可以跳过,只需在.bashrc中添加你的别名) 添加别名别名docker-compose="docker compose" 使别名在当前会话中可用:source ~/.bashrc

我正在安装树莓派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

以上的解决方案对我不起作用。但我发现这个很管用:

sudo apt-get update -y && sudo apt-get install -y python3-pip python3-dev
sudo apt-get remove docker docker-engine docker.io
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo pip3 install docker-compose
#sudo docker-compose -f docker-compose-profess.yml pull ofw
sudo usermod -a -G docker $USER
sudo reboot