数据库集群系列(十四)docker-compose基础知识及使用其快速部署Mysql 5.7数据库

一、基础知识和场景

    Docker-Compose是Docker官方的开源项目,用于实现对Docker容器集群的快速编排。它通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。

    Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。

    Docker-Compose的应用场景,由于其可以快速编排Docker容器集群,因此适用于需要快速部署、管理和扩展多个容器的应用场景,例如微服务架构、Web应用、移动应用后端等。

    与Docker Swarm相比,Docker-Compose更注重于单个应用的容器编排和管理,而Docker Swarm则是一个为IT运维提供集群和调度能力的编排工具。运行Docker的主机可以主动初始化一个Swarm集群或者加入一个已存在的Swarm集群,这样这个运行Docker的主机就成为一个Swarm集群的节点 (node)。节点分为管理 (manager) 节点和工作 (worker) 节点。管理节点用于Swarm集群的管理,docker swarm命令基本只能在管理节点执行(节点退出集群命令docker swarm leave可以在工作节点执行)。一个Swarm集群可以有多个管理节点,但只有一个管理节点可以成为leader,leader通过raft协议实现。工作节点是任务执行节点,管理节点将服务 (service) 下发至工作节点执行。

二、安装docker-compose

     yum -y install docker-compose

    [root@DB-Master mysql]# docker-compose -v
    docker-compose version 1.18.0, build 8dd22a9