微服务项目部署服务器,第3章 3.2 部署服务器 - 编排多个微服务
开发部署流程
开发部署流程.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 部署服务器 - 编排多个微服务相关推荐
- 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...
- 鸟哥的Linux私房菜(服务器)- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
第十一章.远程联机服务器SSH / XDMCP / VNC / RDP 最近更新日期:2011/11/24 维护网络服务器最简单的方式不是跑去实体服务器前面登入,而是透过远程联机服务器联机功能来登入主 ...
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- docker部署微服务项目
上次有人说部署单个springboot项目和ssm写的非常的简单可以写一篇docker部署微服务的结构的文章的吗 安排 什么是微服务? 微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应 ...
- mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...
- 一个自动生成web和微服务项目代码工具sponge
sponge 是一个快速生成web和微服务项目代码工具,也是一个基于gin和grpc封装的微服务框架.sponge拥有丰富的生成代码命令,一共生成12种不同功能代码,这些功能代码可以组合成完整的服务( ...
- 微服务项目的整合与测试
实验目的 掌握微服务项目的整合使用 掌握Swagger-UI的简单使用 练习内容 1.微服务项目整合 1.1.项目预览 1.1.1.在 https://github.com/shi469391tou/ ...
- 【架设KMS服务器流程建立服务项目启动】
架设KMS服务器流程 建立服务项目启动 架设KMS服务器流程--建立服务项目启动 以下操作 root 一.准备Centos服务器CentOS-8.4.2105 1.下载http://mirrors.1 ...
- Spring Cloud Alibaba 大型微服务项目实战
作者介绍 程序员十三,多年一线开发经验,历任高级开发工程师.后端主程.技术部门主管等职位.同时也是开源项目的爱好者和贡献者.掘金优秀作者.CSDN 博客专家.实体图书作者.专栏作者.视频讲师. 小册介 ...
最新文章
- XamarinSQLite教程创建数据表
- 第三方支付——微信app支付
- proe5.0安装教程
- [ZT]CCNA课堂精简笔记 2
- 一起talk C栗子吧(第二十七回:C语言实例--插入排序)
- linux数据包大小控制,linux udp 数据包大小问题
- 用计算机进行废物回收,回收旧的显示器以进行废物利用
- 应急通信于气象雷达的应用
- 一分钟让你明白货币贬值现象
- MSBI表格模型与多维模型比较
- 6个 Python 办公黑科技,工作效率提升100倍!(附代码)
- Springboot就业推荐系统qwy6c计算机毕业设计-课程设计-期末作业-毕设程序代做
- 软件体系结构网课第一次笔记
- 灰色关联度矩阵--基于Matlab
- 01-利用composer创建php代码包
- 瑞萨Ez-cube仿真器引脚与4线接口对应关系
- nginx webdav配置
- 二叉树的堂兄弟节点993
- 数组五种查询条件方法(find、findindex、indexOf、lastindexOf 、includes)
- 爬取微信公众号方法总结