目录
一、DockerCompose
1.1 基本介绍
1.2 Centos7安装DockerCompose
1.2.1 安装
1.2.2 修改文件权限
1.2.3 Base自动补全命令
二、部署微服务集群
一、DockerCompose
1.1 基本介绍
DockerCompose:可以基于Compose文件帮我们快速部署分布式应用,而无需手动一个个创建和运行容器
帮助我们快速部署分布式应用,无需一个个微服务去构建镜像和部署
简言之:分布式部署的好帮手,集群的快速部署
Compose文件:文本文件,通过指令定义集群中的每个容器如何运行
我们之前使用docker run命令指定容器命名,而现在是用Compose文件定义集群中的n个容器运行,可以理解为docker run命令的集合,文件中不是直接用run,而是用指令代替了
语法例子:
版本是3.8,不同版本,语法有所差异
往下是两个微服务,一个是mysql,一个是web

新旧方式对比,发现左侧中的比较简洁,特别是web工程,最简洁

详细信息在下面的官网链接
Compose specification | Docker Documentation
1.2 Centos7安装DockerCompose
1.2.1 安装
下面是慢慢的下,不推荐
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件,上传到`/usr/local/bin/`目录。

 
1.2.2 修改文件权限
chmod +x /usr/local/bin/docker-compose前后对比,发现运行完时绿了,绿了代表可以运行

1.2.3 Base自动补全命令
curl -L http://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose如果执行上面的命令执行出错,执行完这面这个命令再执行上面的命令
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

二、部署微服务集群
这个地方我还没有接触到过微服务集群,这个地方写的不是很熟悉,先记录一下,以后用的话再回来学
18-DockerCompose-部署微服务集群_哔哩哔哩_bilibili
案例:将微服务集群利用DockerCompose部署
部署下面的文件

 
 网关是整个微服务的入口,其他的服务不会暴露端口,只有网关会暴露端口
我们部署之间我们应该先修改一下cloud-demo项目,将数据库、nacos地址都命名为docker-compose中的服务名(我们之前都写的是localhost),比如下图是我们更改之后的内容


使用maven打包工具,将项目中的每个微服务都打包为app.jar
因为我们上面配置Dockerfile文件夹的时候,配置的是到文件夹下找app.jar

指定打包后的最终名称

我们打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中
将cloud-demo上传至虚拟机,利用docker-compose up -d来部署
我们还是放到tmp目录

跑起来
docker-compose up -d



![Docker[6]-.DockerCompose](https://img-blog.csdnimg.cn/df129d08bd32403dbd77f9dfba3f872c.png)



![[附源码]计算机毕业设计JAVA中小型艺术培训机构管理系统](https://img-blog.csdnimg.cn/adbb7d8b673642a0a60460148eb8f97b.png)











