美文网首页常用参考微服务Demo
第3章 3.2 部署服务器 - 编排多个微服务

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

作者: elef | 来源:发表于2018-10-23 16:59 被阅读46次

开发部署流程

开发部署流程.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

相关文章

网友评论

    本文标题:第3章 3.2 部署服务器 - 编排多个微服务

    本文链接:https://www.haomeiwen.com/subject/tqmazftx.html