共计 3390 个字符,预计需要花费 9 分钟才能阅读完成。
BI 零碎打包 Docker 镜像及部署的技术难度和实现
随着容器化技术流行,Docker 在前端畛域也有着越来越宽泛的利用;传统的前端部署形式须要咱们将我的项目打包生成一系列的动态文件,而后上传到服务器,配置 nginx 文件;如果咱们应用容器化部署,将部署操作都命令化,集中成一个脚本就能够实现原来简单的部署过程。本文就来介绍 BI 零碎如何通过 Docker 形式进行部署。
1. 什么是 docker 容器?
Docker 是一个开源的引擎,能够轻松的为任何利用创立一个轻量级的、可移植的、自力更生的容器。
Docker 的英文翻译是码头工人,码头工人个别搬运的都是集装箱(Container),集装箱最大的胜利在于其产品的标准化以及由此建设的一整套运输体系。在一艘几十万吨的巨轮上,装满了各种各样满载的集装箱,彼此之间不会相互影响;因而其自身就有标准化、集约化的个性。
从 Docker 的 logo 咱们也能看出,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 镜像。
sudo docker pull grapecitycn/wyn-enterprise |
---|
(3) 运行如下命令,创立并运行 Docker 容器。
sudo docker run –name wyn -p 51980:51980 -d grapecitycn/wyn-enterprise |
---|
(4) 至此,您曾经能够通过 http://{server\_ip\_address}:51980 来拜访 Wyn Enterprise 零碎。
Docker 目录挂载
如应用内置的数据库,为了避免新建 Docker 容器后数据失落,可将容器中的数据目录挂载到宿主机上。
如需挂载目录,请应用如下命令替换根本装置步骤中第三步的命令创立并运行 Docker 容器。
sudo docker run –name wyn -p 51980:51980 -h “{host\_name}” -v /tmp/wyn\_data:/var/lib/postgresql/data -d grapecitycn/wyn-enterprise |
---|
命令中 -v /tmp/wyn\_data:/var/lib/postgresql/data 为挂载操作,冒号 ”:” 后面的目录是宿主机目录,前面的目录是容器内目录。
应用自定义数据库
Wyn Enterprise 零碎默认将数据寄存在内置数据库中,你还能够应用其余数据库,反对 Postgres、SqlServer、MySql 和 Oracle 四种数据库类型。
如果您须要应用其余的数据库,请应用如下命令替换根本装置步骤中第三步的命令创立并运行 Docker 容器。
- Postgres/SqlServer/MySql 数据库:
sudo docker run –name wyn -p 51980:51980 -h “{host\_name}” -e DB\_PROVIDER=”{Postgres | SqlServer | MySql}” -e DB\_HOST=”{database\_server\_address}” -e DB\_PORT=database\_listening\_port -e DB\_USER=”{database\_user}” -e DB\_PASSWORD=”{database\_user\_password}” -d grapecitycn/wyn-enterprise |
---|
- Oracle 数据库:
sudo docker run –name wyn -p 51980:51980 -h “{host\_name}” -e DB\_PROVIDER=”Oracle” -e DB\_HOST=”{database\_server\_address}” -e DB\_PORT=database\_listening\_port -e DB\_USER=”{database\_user}” -e DB\_PASSWORD=”{database\_user\_password}” -e ORACLE\_SERVICE\_NAME=”{service\_name\_only\_for\_oracle\_provider}” -d grapecitycn/wyn-enterprise |
---|
请留神按理论状况更换命令行中的配置信息。
- 示例:
sudo docker run –name wyn -p 51980:51980 -h “wyn1″ -e DB\_PROVIDER=”SqlServer” -e DB\_HOST=”gcs-testing-01″ -e DB\_PORT=1433 -e DB\_USER=”sa” -e DB\_PASSWORD=”aa123456″ -d grapecitycn/wyn-enterprise |
---|
留神
配置为零碎数据库时对数据库的版本要求如下:
SQL Server 须为 2012 及以上版本;Oracle 须为 12c R2 及以上版本;MySQL 须为 5.6 及以上版本 (且数据库的字符集必须配置为 UTF-8);PostgreSQL 须为 8.4 及以上版本。
另外,如需应用 MySql 数据库,请注意数据库中是否限度了插入和更新数据的数据包大小,此大小需设置为不小于 300M。
卸载
(1) 运行如下命令进行 Docker 容器运行。
sudo docker stop wyn |
---|
(2) 删除 Docker 容器。
sudo docker rm wyn |
---|
到这里咱们就齐全实现了 BI 零碎打包 Docker 并实现部署。
更多相干内容大家能够查看:
https://help.grapecity.com.cn…
拓展浏览
实现同比、环比计算的 N 种姿态
从天猫数据大屏登程,带你看看实时数据可视化到底是怎么实现的
用好 DIV 和 API,在前端零碎中轻松嵌入数据分析模块