Compose 简介
上节介绍了使用一个 Dockerfile
模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose
恰好满足了这样的需求,其是 Docker 官方编排项目之一,负责快速的部署分布式应用。 通过 Compose,可以单引擎模式定义和运行多容器 Docker 应用程序,并且可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose
中有两个重要的概念:
-
服务 (
service
):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。 -
项目 (
project
):由一组关联的应用容器组成的一个完整业务单元。
可见,一个项目可以由多个服务(容器)关联而成,在 docker-compose.yml
文件中进行定义,Compose
面向项目进行管理。
Compose 安装
Compose
支持 Linux、macOS、Windows 10 三大平台。Compose
可以通过 python 的包管理工具 pip
进行安装,也可以下载编译好的二进制文件直接使用。
pip安装
这种方式是将 Compose 当作一个 Python 应用来从 pip 源中安装。执行安装命令:
$ sudo pip install -U docker-compose
二进制包安装
在 Linux 上的也安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可。
运行以下命令以下载 Docker Compose 的相应版本版本:
$ sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 国内用户可以使用以下方式加快下载
$ sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
测试安装
能得到版本号信息说明安装成功。
$ docker-compose --version
docker-compose version 1.29.2, build 40524192
Compose 卸载
如果是二进制包方式安装的,删除二进制文件即可。
$ sudo rm /usr/local/bin/docker-compose
如果是通过 pip
安装的,则执行如下命令即可删除。
$ sudo pip uninstall docker-compose