我已经在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
如果你用的是ubuntu, docker compose可以工作,但docker-compose不行,你需要旧的docker-compose语法可用(可能第三方库使用它),你可以通过以下步骤修复它:
docker-compose插件可能安装在/usr/libexec/docker/cli-plugins/docker-compose(确保它是)
创建一个符号链接到它:
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
现在docker-compose应该可用了
更新:
如果docker-compose在上述路径中找不到,您可以从您的操作系统的发布页面手动下载它,然后移动下载的文件并使其可执行。
cd ~/Downloads
sudo mv ./docker-compose-* /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/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之间的命令兼容性,您可以参考这里。
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。