安装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,请遵循以下说明。
-
启动“高架” PowerShell(以管理员身份运行)。搜索PowerShell,右键单击,然后选择 “以管理员身份运行”。当系统询问您是否允许该应用程序对设备进行更改时,请点击是。
-
在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.
-
测试安装。
docker-compose --version docker-compose version 1.29.1, build 01110ad01
在Linux系统上安装Compose
在Linux上,您可以从GitHub上的Compose存储库发行页面下载Docker Compose二进制文件
。按照链接中的说明进行操作,其中包括curl
在终端中运行命令以下载二进制文件。这些分步说明也包含在下面。
对于
alpine
,需要以下依赖包:py-pip
,python3-dev
,libffi-dev
,openssl-dev
,gcc
,libc-dev
,rust
,cargo
和make
。
-
运行以下命令以下载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
,请参见 上方的“其他安装选项”标签。 -
将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
注意:如果
docker-compose
安装后命令失败,请检查路径。您还可以创建指向/usr/bin
或路径中任何其他目录的符号链接。
例如:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
-
(可选)为 和shell安装命令完成。
bash
zsh
-
测试安装。
$ docker-compose --version docker-compose version 1.29.1, build 1110ad01
备用安装选项
使用pip安装
对于
alpine
,需要以下依赖包:py-pip
,python3-dev
,libffi-dev
,openssl-dev
,gcc
,libc-dev
,rust
,cargo
,和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
执行以上任一命令,然后再次运行。