目录
一.compose的概述
compose是docker官网开发的,负责实现对docker容器集群的快速编排。
docker-compose是基于docker的编排工具,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,
如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 dockerd的单机编排工具 docker-compose。
- Docker Compose非常适合组合使用多个容器进行开发的场景
Compose有2个重要概念:
- 项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
- 服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
使用Compos基本分为三步:
1. Dockerfile 定义应用的运行环境
2. docker-compose.yml 定义组成应用的各服务
3. docker-compose up 启动整个应用
1.1yaml的概述
yaml语言是方便人读写,它的实质就是通用的数据串行化格式
它的基本语法规则如下:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
1.2yaml的数据结构
- 对象,键值对的集合
- 数组,一组按次序排列的值
- 纯量,单个不可再分的值
二.部署compose
2.1下载docker-compose安装包
从github上下载docker-compose二进制文件安装
curl -L https://github.com/docker/compose/releases/download/1.21.1
/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.2部署docker-compose
//可以在任何目录下使用compose命令
cp -p docker-compose /usr/local/bin
chmod +x docker-compose
[root@localhost /]# docker-compose -v
docker-compose version 1.21.1, build 5a3f1a3
2.3开启验证
使用compose去安装运行nginx容器
docker-compose -f docker-compose.yml up -d
三.总结
docker-compose默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。
其它大部分指令都跟 docker run 中的类似。
如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。
使用Compose 基本上分为三步:
Dockerfile 定义应用的运行环境
docker-compose.yml 定义组成应用的各服务
docker-compose up 启动整个应用