从本节开始,开启docker compose学习。
上一篇:Docker的那些事儿—如何利用docker-machine配置管理machine?
前面我们学习了docker容器,了解了如何启动容器。那如果我需要启动多个容器,甚至还要严格控制这些容器的启动顺序,怎么办呢?当然了,我们可以通过脚本来完成这一相对复杂的流程控制,但是这显然不够灵活,逻辑稍微变化,脚本可能变化很大。基于此Docker提供了一种更加简单的方法,来管理多个容器的联动。
Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用(称为一个 project,即项目)。Compose 定位是“Define and run multi-container applications with Docker”,其前身是 Fig,兼容 Fig 的模板文件。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
# 启动所有服务
$ docker-compose up
# 关闭所有服务
$ docker-compose stop
使用Compose包含三个最基本步骤:
1、定义Dockerfile文件,该文件定义了应用环境(镜像的构建)
2、定义docker-compose.yml文件,该文件定义了组成应用的服务
3、运行docker-compose up命令
一个典型的docker-compose.yml文件内容如下:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
关于docker-compose.yml文件,后面会详细介绍。