用Docker Compose编排下微服务项目

1、配置好第三方docker-compose-env.yml
2、微服务打jar包,改好配置,IP变为对应第三方镜像名称
3、微服务制作成镜像dockerfile
4、配置docker-compose-app.yml
5、执行命令

一、创建docker-compose.yml文件

docker-compose描述了对容器的配置,镜像细节写在Dockerfile中,而容器配置写在compose.yml上。这点要注意。

在这里插入图片描述docker-compose up -d 执行
这样会构建一个容器,
加上参数 --build可以重新构建,用于更新jar包的场景

二、Docker Compose管理容器的结构

Docker Compose所管理的容器分为三层:
在这里插入图片描述

工程:docker-mall就是一个compose工程
服务:不同容器中运行了不同的服务,如redis、Mysql服务等。
容器:order、gateway就是容器

三、正式编排微服务项目

一般部署时,先把第三方先部署好

1、创建空目录dlnu-mall
2、在目录下dlnu-mall下创建编排文件docker-compose-env.yml内容如下:

在这里插入图片描述在这里注意下挂载,每次容器运行相应镜像时,需要挂载我们自己的配置文件,这里注意一点:
如:mydata/mysql/data/db/ 这样子的具体文件夹系统可以帮我们创建好,但是具体文件,需要我们自己手动创建好否则报错。
以上是部分第三方组件的配置,接下来配置我们的微服务jar

1、首先在dlnu-mall目录下分别创建authcenter、gateway、member、order、product
这几个微服务对应的目录。

2、把微服务项目打好jar,并把jar放入对应的文件夹

3、改变我们的springboot的yml配置信息

在这里插入图片描述这里注意:我们项目中。不要写ip了,而是写对应的镜像名称,如 localhost:3306变为 mysql:3306

因为docker能够根据mysql找到对应容器的ip地址,从而继续运行。

写好配置文件后:

1、在微服务目录下创建Dockerfile,制作jar包对应的镜像

在这里插入图片描述打好镜像后,接下来编排docker-compose-app.yml

注意:
docker可以在单物理机下进行动态扩容,一行命令:
在这里插入图片描述我们项目中,除了gateway,其他服务扩容后通过服务吗,走nacos可以正常访问,但是gateway是前端通过HTTP访问的,那么Gateway如何扩容?

可以去另外一台机器上扩容gateway。前端用nginx负载均衡

四、常用的docker-compose命令

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值