微服务项目部署服务器,第3章 3.2 部署服务器 - 编排多个微服务

开发部署流程

c9e299c781d0?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

开发部署流程.png

规划磁盘使用

在服务器上运行的Docker容器可以分为两类,

一类是业务型,主要是业务相关的接口服务,该类型容器采用了之前设计的代码镜像分离的原则,代码存储在Github上,代码可能会经常更新,镜像存储在私有镜像库中,变动可能性不大。

另一类是运维型,比如日志、监控等服务,该类型的容器就是来源一个镜像。

不管是那种类型的容器,由于这是正式环境,需要对容器的运行状态进行保存,所以在运行时都需要挂接服务器本地磁盘。

根据不同类型的容器规划了两个主目录存储:

/home/svr/codebase/

存储业务项目代码,内容来源是Github或是拷贝

/home/svr/opsbase/

存储运维类型的容器或是业务类型容器在运行过程中存储的数据

/home/svr/deploybase

存储用于部署的命令或文本

下载需要代码

由于代码和镜像是分离的,所以代码的下载和更新也需要单独处理

$ git clone https://github.com/dockersample/chapter2-webapi.git /home/svr/codebase/webapi

编排微服务

Docker Compose 是一个用于定义和运行多容器Docker应用程序的工具。

安装Compose

执行下面的命令下载最新的Compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#如果有执行权限问题执行下面的语句

$sudo chmod +x /usr/local/bin/docker-compose

#测试安装是否成功

$ docker-compose --version

编排微服务

现在咱们有两套微服务,一套是基于ELK的应用日志系统,另外一套是 dotnet core 开发的webapi

在目录 /home/svr/deploybase 目录下新建 docker-compose.yml 文件

version: '3'

services:

elk_log:

image: "192.168.10.224:5005/sebp/elk"

ports:

- "5601:5601"

- "9200:9200"

- "9300:9300"

volumes:

- /home/svr/opsbase/elk_log:/var/lib/elasticsearch

webapi:

image: "192.168.10.224:5005/djm/dotnet"

ports:

- "8001:5000"

volumes:

- /home/svr/codebase/webapi:/codebase

运行命令,根据上面的描述文件,一起启用上面的两个微服务

docker-compose up

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值