Docker-Compose

什么是docker-compose

Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排
通过编写docker-compose.yml文件可对多个服务同时进行启动/停止/更新(可定义依赖,按顺序启动服务)

docker-compose将所管理的容器分为3层结构:

名称节点组成
project1一个微服务项目
serviceN由N个微服务组成
containerN而每个微服务又由N个节点组成

docker-compose.yml组成一个project,project里包括多个service,每个service定义了容器运行的镜(或构建镜像),
网络端口,文件挂载,参数,依赖等,每个service可包括同一个镜像的多个容器实例。
即 project 包含 service ,service 包含 container

  • 注1:Docker-Compose的工程配置文件默认为docker-compose.yml
  • 注2:compose英文意思:组成

为什么要使用docker-compose

前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。
然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,
那么效率之低,维护量之大可想而知

而使用 Docker Compose 可以轻松、高效的管理容器,
它是一个用于定义和运行多容器 Docker 的应用程序工具。

在这里插入图片描述

使用compose基本上是一个三步过程:

1.用dockerfile,或者镜像定义应用程序的环境,以便在任何地方复制。
2.在docker-compose.yml中定义组成应用程序的服务,以便它们可以在单独的环境中一起运行。
3.运行docker compose up启动并运行整个应用程序。

习惯顺序:1注册中心 2.生产者 3.消费者 4.网关 5.数据库
总结:微服务的启动是有顺序的
docker-compose :是一个按顺序一键启动微服务的工具

docker-compose安装与配置

1.安装方式有3种
1.1.官网的方式去安装
1.2.pip进行安装
1.3.离线安装(本章介绍),官网下载速度太慢了,离线方式更快

2.离线安装
2.1.下载安装文件
访问https://github.com/docker/compose/releases,下载 docker-compose-Linux-x86_64,我是复制链接地址,
在迅雷中下载的,下载后,将docker-compose-Linux-x86_64重命名为docker-compose

2.2.将刚才下载的docker-compose文件上传到centos7的/usr/local/bin/目录下

  • cd /usr/local/bin
    rz

2.3.添加可执行权限

  • chmod +x /usr/local/bin/docker-compose

2.4.通过查看版本,测试安装是否成功

  • docker-compose -v
    #查看所有命令
  • docker-compose -h
    在这里插入图片描述

3.1.创建Docker运行参数
使用flannel提供的脚本将subnet.env转写成Docker启动参数

  • /opt/flannel/mk-docker-opts.sh -d /usr/flannel/docker_opts.env -c

3.2.修改Docker启动参数
编辑 systemd service 配置文件

  • vim /lib/systemd/system/docker.service

在这里插入图片描述

3.3.重新加载systemd配置,并重启Docker即可,

  • systemctl daemon-reload && systemctl restart docker && systemctl
    status docker

如果启动不了可以查看防火墙状态
在这里插入图片描述

3. 综合示例:docker-compose部署nginx,挂载外置配置文件及项目
1.docker、docker-compose安装

2.nginx准备工作
docker search nginx
docker pull nginx
mkdir -p /zking/nginx/{conf,conf.d,html,log}

注1:因为在nginx镜像中没有安装vi或vim编辑器(安装又太麻烦了),无法编辑nginx配置文件,所以直接通过数据卷挂载上去更加方便

注2:将nginx配置文件nginx.conf上传到宿主机的挂载目录“/zking/nginx/conf”下

注3:将vue前端项目打包后上传到宿主机的挂载目录“/zking/nginx/html”下

3.在docker主机上新建/docker-compose/nginx
mkdir -p /docker-compose/nginx && cd /docker-compose/nginx

4.在/docker-compose/nginx目录下创建并编辑docker-compose.yml
cd /docker-compose/nginx
vim docker-compose.yml

在这里插入图片描述

5.后台启动服务
docker-compose up -d 2f

在这里插入图片描述
在这里插入图片描述


版权声明:本文为Lzxccas原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。