BI系统打包Docker镜像及部署的技术难度和实现

BI系统打包Docker镜像及部署的技术难度和实现
随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用;传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置nginx文件;如果我们使用容器化部署,将部署操作都命令化,集中成一个脚本就可以完成原来复杂的部署过程 。本文就来介绍BI系统如何通过Docker方式进行部署 。
1.什么是docker容器?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器 。

BI系统打包Docker镜像及部署的技术难度和实现

文章插图
Docker的英文翻译是码头工人,码头工人一般搬运的都是集装箱(Container),集装箱最大的成功在于其产品的标准化以及由此建立的一整套运输体系 。在一艘几十万吨的巨轮上,装满了各种各样满载的集装箱,彼此之间不会相互影响;因此其本身就有标准化、集约化的特性 。
从Docker的logo我们也能看出,Docker的思想来自于集装箱;各个应用程序相当于不同的集装箱,每个应用程序有着不同的应用环境,比如python开发的应用需要服务器部署一套python的开发环境,nodejs开发的应用需要服务器部署nodejs的环境,不同环境之间有可能还会彼此冲突,Docker可以帮助我们隔离不同的环境 。
有些同学于是就想到了,这不是虚拟机干的活么 。是的,虚拟机可以很好的帮我们隔离各个环境,我们可以在windows上运行macOS、ubuntu等虚拟机,也可以在macos上安装Windows的虚拟机;不过传统的虚拟机技术是虚拟一整套硬件后,在其上运行完整的操作系统,在该系统上再运行所需应用进程,这样导致一台电脑只能运行数量较少的虚拟机 。
但是Docker使用的容器技术比虚拟机更加的轻便和快捷 。容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟 。因此容器要比传统虚拟机更为轻便,下图比较了两者的区别:
BI系统打包Docker镜像及部署的技术难度和实现

文章插图
对比总结:
特性容器虚拟机启动秒级分钟级硬盘使用一般为 MB一般为 GB系统资源0~5%5~15%性能接近原生弱于原生系统支持量单机支持上千个容器一般几十个2.Docker容器化部署的优势?
  • 启动快、解决虚拟机资源消耗问题
启动容器相当于启动本机一个进程,启动速度快 。一台电脑运行一个Linux虚拟机可能会卡顿,却可以使用Docker虚拟几十甚至上百台虚拟Linux服务器,容器仅占用用到的资源,多个容器可共享资源 。
  • 体积小、快速部署
开发的应用在自己电脑上运行,换一台机器可能无法运行,需要环境配置 。
使用Docker可以将应用程序及依赖包打包在一个文件里,运行这个文件就会启动虚拟服务器 。
  • 提供一次性环境
启动或关闭一个虚拟服务器就像启动或关闭一个进程一样简单、快速 。
  • 组建微服务架构
通过多个容器,一台机器可以跑很多虚拟服务器,一台机器上可以虚拟出微服务架构,也可以模拟出分布式架构 。
3.BI系统如何实现Docker容器化部署随着容器化技术的普及,越来越多的企业都采用容器化的方式来部署自己的系统,BI系统也随着技术的发展,提供Docker容器化部署方式 。为了带大家了解如何实现将BI系统的Docker容器化部署,我们以商业智能软件Wyn为例,为大家展示这个过程 。
Wyn在DockerHub上发布了BI系统的镜像,大家可以根据自己的需要拉取对应的版本进行部署 。镜像地址:https://hub.docker.com/r/grapecitycn/wyn-enterprise/tags

经验总结扩展阅读