Docker已安装,但Docker Compose不是?为什么?

时间:2016-04-18 05:22:17

标签: docker docker-compose dockerfile

我已经通过运行以下命令在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

15 个答案:

答案 0 :(得分:171)

您还需要安装Docker Compose。请参阅manual。以下是您需要执行的命令

sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/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

答案 1 :(得分:26)

我在Raspberry Pi 3上使用Raspbian 8进行安装。卷曲方法失败了(请求line 1: Not: command not found时出现docker-compose --version错误)@ sunapi386的解决方案似乎有点过时,所以我试过这个有用的:

首先清理以前的努力:

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

然后关注this guidance re docker-compose on 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

答案 2 :(得分:7)

我正在使用debian,我发现很自然的事情:

apt-get install docker-compose

它完成了工作 (未在centos上测试)

答案 3 :(得分:6)

我正在Raspbian OS上的Raspberry Pi 3上安装。 curl方法未解析为有效响应。它还说{error: Not Found},我看了一下网址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

答案 4 :(得分:1)

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

$ docker-compose -v

如果未安装,请参阅安装指南https://docs.docker.com/compose/install/ 如果安装,则为二进制文件提供可执行权限。

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

检查这是否有效。

答案 5 :(得分:1)

如果已安装docker ,请将其官方存储库添加到您的reposiotry列表中,例如:

curl -L https://nightly.odoo.com/odoo.key | apt-key add -
sudo echo "deb http://nightly.odoo.com/10.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
sudo apt-get update && sudo apt-get install odoo

只是做:

$ sudo apt-get install docker-compose

如果是基于RHEL的发行版/ Fedora:

$ sudo dnf install docker-compose

答案 6 :(得分:1)

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

  1. docker-compose你可以从存储库安装(如果你在存储库中有这个软件包,如果没有,你可以使用这个软件包添加到系统库)或者在官方网站上使用curl - totourial下载二进制文件该项目 - src:https://docs.docker.com/compose/install /

  2. 来自存储库的docker-compose是1.8.0版本(至少在我看来)。此docker-compose版本不支持版本3中的配置文件。它仅具有version =< 2支持。在该项目的官方网站上建议在版本3中使用容器配置 - src:https://docs.docker.com/compose/compose-file / compose-versioning /。根据我在docker中工作的经验,我建议在版本3中使用容器配置 - 使用的配置选项多于版本< 3。如果要使用版本3中的配置配置,则必须更新/安装docker-compose至至少1.17的版本 - 最好是最新版本。该项目的官方网站是如何完成此过程的 - 如下所示:src:https://docs.docker.com/compose/install/

  3. 当您尝试手动删除旧的docker-compose二进制文件时,您可以在默认路径/usr/local/bin/docker-compose中获取有关丢失文件的信息。就我而言,docker-compose位于默认路径/ usr / bin / docker-compose中。在这种情况下,我建议您使用系统中的查找工具查找二进制文件docker-compose - 示例语法:sudo find / -name 'docker-compose'。它帮助了我。多亏了这个,我删除了旧的docker-compose版本并将稳定版添加到系统中 - 我使用curl工具下载二进制文件docker-compose,将其置于正确的路径并为其提供正确的权限 - 所有这些过程都有已经在上面的帖子中描述过。

  4. 此致 亚当

答案 7 :(得分:1)

只需使用brew:

brew install docker-compose

答案 8 :(得分:0)

安装docker并不代表你已经安装了docker-compose。作为先决条件,您已经安装了您已经完成的docker引擎。之后,您可以按照此link为Centos 7安装docker-compose。

答案 9 :(得分:0)

docker-compose目前是一个利用docker(-engine)但未包含在docker发行版中的工具。

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

TL; DR:

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将来会改变)

答案 10 :(得分:0)

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

答案 11 :(得分:0)

上述解决方案对我不起作用。但我发现这行得通:

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

答案 12 :(得分:0)

在Linux上,您可以从GitHub上的Compose存储库发行页面下载Docker Compose二进制文件。按照链接中的说明进行操作,其中包括在终端中运行curl命令以下载二进制文件。这些分步说明也包含在下面。

1:运行此命令以下载Docker Compose的当前稳定版本:

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

要安装其他版本的Compose,请用要使用的Compose版本替换1.26.2。

2:将可执行权限应用于二进制文件:

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

注意:如果安装后命令docker-compose失败,请检查 你的路。您还可以创建到/ usr / bin或任何其他文件的符号链接 路径中的其他目录。

答案 13 :(得分:0)

如果你想自动安装 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。 Official installing way 需要您亲手获得的版本。但是我写了一个脚本,它会自动为您获取最新版本。

答案 14 :(得分:-1)

如果 docker-compose 已经存在于 /usr/local/bin

ls -alt /usr/local/bin/ | grep docker-compose
> lrwxr-xr-x    1 root     wheel        77 Mar 11 10:39 docker-compose -> /Applications/Docker.app/Contents/Resources/bin/docker-compose/docker-compose

然后最后用这个 /usr/local/bin 更新你的 .bash_profile 路径:

export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH:/usr/local/bin"

运行:

source ~/.bash_profile

并检查:

echo $PATH
> ...
which docker-compose
> /usr/local/bin/docker-compose
docker-compose