BI系统打包部署Docker镜像的技术难点及实现部署方式需要我们将项目打包生成一系列静态文件,然后上传到服务器,并配置nginx文件;如果我们使用容器化部署,部署操作是命令式的,集中到一个脚本中,完成原来复杂的部署过程。本文将介绍如何通过Docker部署BI系统。1、什么是docker容器?Docker是一个开源引擎,可以轻松为任何应用程序创建轻量级、可移植、自给自足的容器。Docker的英文翻译是dockworkers,码头工人一般都是搬运集装箱。集装箱最大的成功在于其产品的标准化以及由此建立的整个运输体系。几十万吨的巨轮上,装满了各种满载的集装箱,互不影响;因此,它具有标准化和集约化的特点。从Docker的标志中,我们也可以看出Docker的思想来源于容器;每个应用相当于一个不同的容器,每个应用都有不同的应用环境。比如python开发的应用需要服务器部署python开发环境,nodejs开发的应用需要服务器部署nodejs环境。不同的环境可能会相互冲突。Docker可以帮助我们隔离不同的环境。有同学接着想,这不就是虚拟机干的事吗。是的,虚拟机可以很好的帮助我们隔离各种环境。我们可以在windows上运行macOS、ubuntu等虚拟机,也可以在macos上安装Windows虚拟机;但是传统的虚拟机技术是将一套完整的硬件虚拟出来,最后在上面运行一个完整的操作系统,然后在系统上运行需要的应用程序进程,这样一台计算机就只能运行少量的虚拟机。但是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/grap...基本安装步骤(1)Docker部署。详情请参考https://docs.docker.com/insta...(2)使用以下命令拉取最新的Docker镜像。sudodockerpullgrapecitycn/wyn-enterprise(3)运行以下命令创建并运行Docker容器。sudodockerrun--namewyn-p51980:51980-dgrapecitycn/wyn-enterprise(4)至此,可以通过http://{server\_ip\_address}:51980访问WynEnterprise系统。如果使用内置数据库进行Docker目录挂载,为了防止新建Docker容器后数据丢失,可以将容器中的数据目录挂载到宿主机上。挂载目录,使用以下命令替换基本安装步骤中第3步的命令,创建并运行Docker容器。sudodockerrun--namewyn-p51980:51980-h"{host\_name}"-v/tmp/wyn\_data:/var/lib/postgresql/data-dgrapecitycn/wyn-enterprisecommand-v/tmp/wyn\_data:/var/lib/postgresql/data为挂载操作,冒号“:”前的目录为宿主目录,后面的目录为容器内目录。使用自定义数据库WynEnterprise系统默认将数据存储在内置数据库中,您也可以使用其他数据库,支持Postgres、SqlServer、MySql和Oracle四种数据库类型。如果需要使用其他数据库,请使用以下命令替换基本安装步骤中第三步的命令,创建并运行Docker容器。Postgres/SqlServer/MySql数据库:sudodockerrun--namewyn-p51980:51980-h"{host\_name}"-eDB\_PROVIDER="{PostgresSqlServerMySql}"-eDB\_HOST="{database\_server\_address}"-eDB\_PORT=database\_listening\_port-eDB\_USER="{database\_user}"-eDB\_PASSWORD="{database\_user\_password}"-dgrapecitycn/wyn-enterpriseOracle数据库:sudodockerrun--namewyn-p51980:51980-h"{host\_name}"-eDB\_PROVIDER="Oracle"-eDB\_HOST="{database\_server\_address}"-eDB\_PORT=database\_listening\_port-eDB\_USER="{database\_user}"-eDB\_PASSWORD="{database\_user\_password}"-eORACLE\_SERVICE\_NAME="{service\_name\_only\_for\_oracle\_provider}"-dgrapecitycn/wyn-enterprise请注意根据实际情况替换命令行中的配置信息。示例:sudodockerrun--namewyn-p51980:51980-h"wyn1"-eDB\_PROVIDER="SqlServer"-eDB\_HOST="gcs-testing-01"-eDB\_PORT=1433-eDB\_USER="sa"-eDB\_PASSWORD="aa123456"-dgrapecitycn/wyn-enterprise注意,配置为系统数据库时,数据库版本要求如下:SQLServer必须为2012及以上;Oracle必须是12cR2及以上版本;MySQL必须是5.6及以上版本(并且数据库的字符集必须配置为UTF-8);PostgreSQL必须是8.4及以上版本。另外,如果需要使用MySql数据库,请注意数据库中插入和更新数据的数据包大小是否有限制,这个大小必须设置为不小于300M。卸载(1)运行以下命令停止Docker容器运行。sudodockerstopwyn(2)删除Docker容器。sudodockerrmwyn到这里我们就完整实现了BI系统对Docker的打包并完成部署。更多相关内容可以查看:https://help.grapecity.com.cn...延伸阅读N种姿势实现同比、环比计算从天猫大屏出发数据,我会告诉你什么是实时数据可视化如何用好DIV和API,轻松在前端系统嵌入数据分析模块
