一、简介
Docker有三大编排工具:
Docker Compose:是用来组装多容器应用的工具,可以在 Swarm集群中部署分布式应用
Docker Machine:是支持多平台安装Docker的工具,使用 Docker Machine,可以很方便地在笔记本、云平台及数据中心里安装Docker
Docker Swarm:是Docker社区原生提供的容器集群管理工具
1、Docker Compose
Compose是用于定义和运行容器docker应用程序的工具。通过Compose,可以使用YAML文件来配合应用程序需要的所有的服务。然后,使用一个命令,就可以从YAML文件配合中创建并启动所有服务。那么就需要了解YAML文件的基本语法
YAML文件基本语法:
1、大小写敏感;
2、使用缩进表示层级关系;
3、缩进不允许使用tab,只允许空格;
4、缩进的空格数不重要,只要相同等级的元素左对齐即可;
5、“#”表示注释;
Docker Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器
Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器
Docker Compose将所管理的容器分为三层:工程(project)、服务(service)、容器(container)
服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。每个服务都有自己的名 字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等,即以容器为粒度,用户需要Compose 所完成的任务
项目(project):由一组关联的应用容器组成的一个完成业务单元,在docker-compose.yml中定义。即是 Compose的一个配置文件可以解析为一个项目,Compose通过分析指定配置文件,得出配置文件所需完成的所 有容器管理与部署操作
网络(networks):应用的网络,在它下面可以定义应用的名字、使用的网络类型等Docker Compose运行目录下的所有yml文件组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务可包括多个容器实例
Docker Compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理
二、docker-compose工具的安装使用
1、安装 docker-compose
若想使用docker-comppose这个容器编排工具,那么宿主机必须是基于docker的环境,可以参考 Docker简介与安装 。docker的环境解决了之后,就是安装docker-compose这个命令
系统 | IP | 名称 | 角色 |
CentOS 7.4 | 192.168.2.17 | Docer1 | docker、docker-compose |
[root@Docker1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
.....
[root@Docker1 ~]# yum makecache
.......
....
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
元数据缓存已建立
[root@Docker1 ~]# yum list | grep docker-compose
docker-compose.noarch 1.18.0-4.el7 epel
使用yum进行安装
[root@Docker1 ~]# yum -y install docker-compose
.......
...
..
[root@Docker1 ~]# docker-compose -versid
docker-compose version 1.18.0, build 8dd22a9
[root@Docker1 ~]# ls -lh /usr/bin/docker-compose #安装完成后会有一个命令
-rwxr-xr-x. 1 root root 422 3月 8 2019 /usr/bin/docker-compose
2、常用的Options(选项)与Commands(命令)
a、常用的Options(选项)
语法:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
option | 说明 |
-f,–file | FILE指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定 |
-p,–project-name | NAME指定项目名称,默认将使用所在目录名称作为项目名 |