安装Docker Compose

预计阅读时间:7分钟

您可以在macOS,Windows和64位Linux上运行Compose。

先决条件

Docker Compose依靠Docker Engine进行任何有意义的工作,因此请确保根据您的设置在本地或远程安装Docker Engine。

  • 在Mac和Windows的Docker桌面等桌面系统上,这些桌面安装中包含Docker Compose。

  • 在Linux系统上,首先 按照“获取Docker”页面上的说明为您的操作系统安装 Docker引擎,然后返回此处以获取有关在Linux系统上安装Compose的说明。

  • 要以非root用户身份运行Compose,请参阅以非root用户身份管理Docker

安装撰写

请按照以下说明在Mac,Windows,Windows Server 2016或Linux系统上安装Compose,或查找其他替代方法,例如使用pip Python软件包管理器或将Compose作为容器安装。

安装其他版本

以下说明概述了Compose当前稳定版本(v1.29.1)的安装。要安装其他版本的Compose,请用所需的版本号替换给定的发行号。还列出了Compose版本,可以在GitHub上的Compose存储库版本页面上直接下载 。要安装Compose的预发行版本,请参阅“安装预发行的内部版本” 部分。

在macOS上安装Compose

Docker Desktop for Mac包括Compose以及其他Docker应用程序,因此Mac用户不需要单独安装Compose。有关安装说明,请参阅在Mac上安装Docker Desktop

在Windows桌面系统上安装Compose

Windows的Docker桌面包括Compose和其他Docker应用程序,因此大多数Windows用户不需要单独安装Compose。有关安装说明,请参阅在Windows上安装Docker Desktop

如果您直接在Microsoft Windows Server上运行Docker守护程序和客户端,请按照Windows Server选项卡中的说明进行操作。

在Windows Server上安装Compose

如果您直接在Microsoft Windows Server上运行Docker守护程序和客户端,并且想要安装Docker Compose,请遵循以下说明。

  1. 启动“高架” PowerShell(以管理员身份运行)。搜索PowerShell,右键单击,然后选择 “以管理员身份运行”。当系统询问您是否允许该应用程序对设备进行更改时,请点击

  2. 在PowerShell中,由于GitHub现在需要TLS1.2,请运行以下命令:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    

    然后运行以下命令以下载当前稳定的Compose(v1.29.1)版本:

    Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe
    

注意:在Windows Server 2019上,您可以将Compose可执行文件添加到中$Env:ProgramFiles\Docker。由于此目录是在系统中注册的PATH,因此您可以docker-compose --version在后续步骤中运行该命令,而无需进行其他配置。

> To install a different version of Compose, substitute `1.29.1`
> with the version of Compose you want to use.
  1. 测试安装。

    docker-compose --version
    
    docker-compose version 1.29.1, build 01110ad01
    

在Linux系统上安装Compose

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

对于alpine,需要以下依赖包: py-pippython3-devlibffi-devopenssl-devgcclibc-devrustcargomake

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

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

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

    如果您在使用进行安装时遇到问题curl,请参见 上方的“其他安装选项”标签。

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

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

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

例如:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  1. (可选)为 和shell安装命令完成bashzsh

  2. 测试安装。

    $ docker-compose --version
    docker-compose version 1.29.1, build 1110ad01
    

备用安装选项

使用pip安装

对于alpine,需要以下依赖包: py-pippython3-devlibffi-devopenssl-devgcclibc-devrustcargo,和make

可以使用pypi来安装Compose pip。如果使用安装pip,我们建议您使用 virtualenv,因为许多操作系统具有与docker-compose依赖项冲突的python系统软件包。请参阅virtualenv教程以开始使用。

pip install docker-compose

如果您没有使用virtualenv,

sudo pip install docker-compose

需要pip 6.0版或更高版本。

作为容器安装

还可以通过小型bash脚本包装器在容器内运行Compose。要将compose作为容器安装,请运行以下命令:

sudo curl -L --fail https://github.com/docker/compose/releases/download/1.29.1/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

安装预发行版本

如果您有兴趣试用预发布版本,可以从GitHub上Compose存储库发布页面下载候选版本。按照链接中的说明进行操作,该链接涉及curl在终端中运行命令以下载二进制文件。

也可以从https://dl.bintray.com/docker-compose/master/下载从“ master”分支构建的预发行版本 。

发行前的版本使您可以在发行新功能之前对其进行试用,但可能会使其不稳定。


升级中

如果要从Compose 1.2或更早版本进行升级,请在升级Compose之后删除或迁移现有容器。这是因为从1.3版开始,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。

如果Compose检测到创建的没有标签的容器,它将拒绝运行,这样您就不会最终获得两组标签。如果要继续使用现有容器(例如,因为它们具有要保留的数据量),则可以使用Compose 1.5.x通过以下命令迁移它们:

docker-compose migrate-to-labels

另外,如果您不担心保留它们,可以将其删除。撰写只是创建新的。

docker container rm -f -v myapp_web_1 myapp_db_1 ...

解除安装

如果使用curl以下命令进行安装,则要卸载Docker Compose :

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

如果使用pip以下命令进行安装,则要卸载Docker Compose :

pip uninstall docker-compose

遇到“权限被拒绝”错误?

如果使用以上两种方法中的任何一种都会出现“权限被拒绝”错误,则您可能没有适当的权限来删除 docker-compose。要强行删除,请先sudo执行以上任一命令,然后再次运行。

接下来要去哪里

撰写编排安装安装码头工人文档