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

当前回答

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

其他回答

我正在安装树莓派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。请参阅说明书。下面是您需要执行的命令

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上查看最新版本。

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。

参考上面给出的答案(我没有足够的声誉单独提到单独的解决方案,因此我在这里集体做这些),我想补充一些重要的建议:

docker-compose you can install from the repository (if you have this package in the repository, if not you can adding to system a repository with this package) or download binary with use curl - totourial on the official website of the project - src: https://docs.docker.com/compose/install / docker-compose from the repository is in version 1.8.0 (at least at me). This docker-compose version does not support configuration files in version 3. It only has version = <2 support. Inthe official site of the project is a recommendation to use container configuration in version 3 - src: https://docs.docker.com/compose/compose-file / compose-versioning /. From my own experience with work in the docker I recommend using container configurations in version 3 - there are more configuration options to use than in versions <3. If you want to use the configurations configurations in version 3 you have to do update / install docker-compose to the version of at least 1.17 - preferably the latest stable. The official site of the project is toturial how to do this process - src: https://docs.docker.com/compose/install/ when you try to manually remove the old docker-compose binaries, you can have information about the missing file in the default path /usr/local/bin/docker-compose. At my case, docker-compose was in the default path /usr/bin/docker-compose. In this case, I suggest you use the find tool in your system to find binary file docker-compose - example syntax: sudo find / -name 'docker-compose'. It helped me. Thanks to this, I removed the old docker-compose version and added the stable to the system - I use the curl tool to download binary file docker-compose, putting it in the right path and giving it the right permissions - all this process has been described in the posts above.

问候, 亚当

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

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