Compose 简介
docker compose是docker官方编排(orchestration)项目之一,负责快速的部署分布式应用。从功能上看,跟OpenStack中的heat类似。
代码目前在 https://github.com/docker/compose 上开源。
compose定位是【定义和运行多个docker容器的应用】,其前身是开源项目fig。
通过第一部分的介绍,我们知道使用一个dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常的工作中,经常会碰到需要多个容器互相配合来完成某项任务的情况。例如要实现一个web项目,除了web服务器本身,往往还需要再加上后端的数据库容器,甚至还包括负载均衡容器。
compose恰好满足了这样需求。它允许用户通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目。
compose中有两个重要的概念:
- 服务(server):一个应用的容器,实际上可以包括若干个运行相同镜像的容器实例。
项目(project):有一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义
compose的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷的生命周期管理。 compose项目是由Python编写的,实际上调用了docker服务提供的api来对容器进行管理。因此,只要所操作的平台支持docker PAI,就可以利用compose进行编排管理。
安装与卸载
Compose 支持 Linux、macOS、Windows 10 三大平台。 Compose 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至能够直接在 Docker 容器中运行。 前两种方式是传统方式,适合本地环境下安装使用;最后一种方式则不破坏系统环境,更适合云计算场景。 Docker for Mac 、Docker for Windows 自带 docker-compose 二进制文件,安装 Docker 之后可以直接使用[root@docker1 ~]# docker-compose --version
docker-compose version 1.21.0, build 5920eb0
- 二进制方式安装 Linux 系统请使用以下介绍的方法安装。 在 Linux 上的也安装十分简单,从 官方 GitHub Release 处直接下载编译好的二进制文件即可。 例如,在 Linux 64 位系统上直接下载对应的二进制包。
[root@docker1 ~]# curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 617 0 617 0 0 175 0 --:--:-- 0:00:03 --:--:-- 175
100 10.3M 100 10.3M 0 0 594k 0 0:00:17 0:00:17 --:--:-- 2122k
[root@docker1 ~]# chmod +x /usr/local/bin/docker-compose
- PIP 安装 这种方式是将 Compose 当作一个 Python 应用来从 pip 源中安装。 执行安装命令:
pip install -U docker-compose
- bash 补全命令
$ curl -L https://raw.githubusercontent.com/docker/compose/1.8.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
- 容器中执行 Compose 既然是一个 Python 应用,自然也可以直接用容器来执行它。
curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 卸载 如果是二进制包方式安装的,删除二进制文件即可。
rm /usr/local/bin/docker-compose
如果是通过 pip 安装的,则执行如下命令即可删除。
pip uninstall docker-compose
发表评论
共 0 条评论
暂无评论