共计 3301 个字符,预计需要花费 9 分钟才能阅读完成。
在过来的几年中,” 云 ” 作为明星热词站在了各种新潮技术之中,你可能应用过,但说不清它的原理;或者是没用过,但听过它的小名;也可能连它的名字都没听过,但你对这只蓝色鲸鱼肯定非常眼生。作为一名技术人员,只有你在这个软件行业里摸爬滚打,就肯定对他有不同水平的理解。
Docker 是什么?
Docker 的 LOGO 非常有特点,一条鲸鱼载着很多集装箱,集装箱中满是要交付的货物。鲸鱼就是操作系统,而集装箱就是 Docker,集装箱中的就是要交付的货物,也就是应用程序。各种 ” 货物 ” 之间的尺寸、大小、形态是各不相同的,都要放到鲸鱼身上,那么就要思考各种货物怎么安放,还得思考货物之间是否重叠起来。于是就有了集装箱的概念,将每件货物都放到集装箱中,这样鲸鱼就能够有程序的安放,省时省力。
那么就能够了解为:打包好的软件放到容器中,容器再放到操作系统中,就是简略的 ”build——ship——run”,这样就能够保障在本人电脑上怎么运行,在服务器上也是怎么运行,大大减少因为环境起因出错而导致程序运行谬误,开发须要破费大量的精力去折腾环境。
Docker 作为一个软件集装箱化平台,能够让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,将镜像打包后上传到仓库,就能够公布利用到任意平台中。在应用时,只用一条命令就能够将镜像拉取到本地,而后一条命令就能够疾速的将我的项目部署起来。这也完满的诠释了 Docker 的三大外围:镜像,容器,仓库。
那么,首先咱们要来理解一下 Docker 的劣势:
1. 快
运行时的性能能够获取极大晋升(经典的案例是晋升 97%)。
治理操作(启动,进行,开始,重启等等)都是以秒或毫秒为单位的。
- 麻利
像虚拟机一样麻利,老本更低,部署形式简略。
- 灵便
将利用和零碎 ” 容器化 ”,不增加额定的操作系统。
- 轻量
你会领有足够的 ” 操作系统 ”,仅需增加或减小镜像即可。在一台服务器上能够布署 100~1000 个 Containers 容器。
5. 便宜
开源的,收费的,低成本的。由古代 Linux 内核反对并驱动。注 * 轻量的 Container 必然能够在一个物理机上开启更多 ” 容器 ”,注定比 VMs 要便宜。
- 云反对
云服务提供创立和治理 Linux 容器框架。
在之前的文章,咱们也系统地介绍过 Docker,感兴趣的同学能够戳:
第一章:Docker 与 k8s 的恩怨情仇(一)—成为 PaaS 前浪的 Cloud Foundry
第二章:Docker 与 k8s 的恩怨情仇(二)—用最简略的技术实现 ” 容器 ”
第三章:Docker 与 k8s 的恩怨情仇(三)—后浪 Docker 来势汹汹
第四章:Docker 与 k8s 的恩怨情仇(四)- 云原生时代的闭源闭幕
第五章:Docker 与 k8s 的恩怨情仇(五)——Kubernetes 的翻新
第六章:Docker 与 k8s 的恩怨情仇(六)—— “ 容器编排 ” 演出 ” 终结者 ” 大片
第七章:Docker 与 k8s 的恩怨情仇(七)—— “ 服务发现 ” 大法让你的内外交互原地腾飞
第八章:Docker 与 k8s 的恩怨情仇(八)——蓦然回首总览 Kubernetes
Docker 利用部署 BI 数据分析
通过下面一系列的介绍,咱们能够从倒退背景到具体原理和应用理解 Docker。接下来咱们将从 BI 数据分析利用为例,为大家介绍如何实现 Docker 应用程序部署。
首先咱们从 BI 数据可视化剖析说起。通过对目前国内市面上多个 BI 利用进行调研后发现这些利用都存在一些问题。
- 依赖于运行环境 JDK,JAR,.NET Core 等,若运行环境不统一也会导致各种问题呈现。
- 装置简单。对于非专业人员,部署一套零碎须要投入很大精力。
- 过于依赖于操作系统。例如会存在 x32 位不可反对,win7 环境配置难度大,winserver2008 以前版本不反对等各种零碎问题。
- PC 装置有各类应用软件,容易和已装置软件抵触,引发不可预知的异样问题。
- PC 装置各种杀毒软件,如 360、金山毒霸、电脑管家等一些杀毒软件,会将过程杀掉,引起一些 BI 服务无奈失常运行。
- BI 产品广泛有很多运行打算工作,集体 PC 装置 BI 利用后,即便不关上软件,程序仍然在跑,容易引起 PC 运行比拟卡顿。
上述问题的存在,就让 Docker 能够很好凸显他的价值。
首先 Docker 中的容器是与其余容器互相隔离的,在所获取的镜像中蕴含了 Docker 运行所须要的全副依赖的运行环境;所以只须要简略两行代码,就能够装置一个残缺的 BI 利用。咱们以 Wyn Enterprise 的部署为例,给大家演示下 Docker 进行软件部署的具体过程。
示例步骤:
- 装置 Docker
- 获取镜像:
sudo docker pull grapecitycn/wyn-enterprise
- 创立并运行 docker 容器:
sudo docker run --name wyn -p 51980:51980 -d grapecitycn/wyn-enterprise
- 至此,咱们就能够通过 http://{server\_ip\_address}:51980 来拜访 Wyn
通过以上示例,咱们能够看到,仅需简略的 3 个命令行,就疾速实现了 BI 零碎的部署。请问,还有什么比 Docker 更简略快捷的部署形式吗?
Docker 镜像打包
部署如此简略,那么如果要进行移植该如何做,集成的我的项目如何公布 Docker 仓库中呢?
接下来,咱们通过一个案例零碎的解镜像打包过程,为大家解答这两个问题。
事件的起因是客户找到葡萄,示意心愿将 BI 软件打包到本人利用零碎中,在实现 OEM 白标解决后,做一些个性化配置后,从新打包镜像,上传到 Docker 仓库中。
说做就做,咱们当初就开始我的项目。
- 首先,应用 Wyn Enterprise 提供的 Docker 镜像来创立一个本人的 Docker 容器
sudo docker pull grapecitycn/wyn-enterprise
sudo docker run --name wyn -p 51980:51980 -d grapecitycn/wyn-enterprise
通过:http://{server\_ip\_address}:51980 进行个性化操作配置。
- 按本人的要求进行系统配置
能够依据本人的须要来对系统进行配置,比方替换登录页面的背景图片和 LOGO,零碎左上角显示的 LOGO,以及替换浏览器 tag 页下面显示的 LOGO;还能够依据本人的须要创立一些示例文档。
- 用 admin 登录到零碎后,导出你须要的文档以及配置。
- 制作 Docker 镜像
4.1. 筹备一台 Linux 机器,把文件夹 custom-wyn 拷贝到这台机器下面去;
4.2. 把步骤 3 中导出的压缩文件重命名为 sample\_files.zip,并拷贝到目录 custom-wyn/sample\_files;
4.3. 如果须要在自定义的 Docker 镜像中内置字体,请把筹备好的字体文件拷贝到目录 custom-wyn/custom\_fonts 下;
4.4. 依据本人的须要,批改 dockerfile 文件中 docker 镜像 wyn-enterprise 的 tag 名称;
4.5. 参照脚本文件 push-docker-image.sh 中的内容,制作并且上传 Docker 镜像到 Docker 仓库中。
4.6. 打包资源
从该地址下载即可:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=139206
4.7. 拉取 Docker 镜像进行验证
拉取下面步骤中创立好的 Docker 镜像,并应用该镜像创立一个 docker 容器。
拜访该 docker 容器中运行的 Wyn Enterprise 利用并进行验证。
至此咱们的 Docker 镜像都曾经制作实现。
总结
这里咱们零碎为大家介绍了 Docker 利用的劣势,以及整个 BI 我的项目在 docker 中部署的全过程。其中 Docker 镜像打包也是目前很多企业中比拟喜爱的一个性能,通过简略的操作 BI 集成到本人的利用零碎中一起打包,完满的解决了嵌入交融的问题。
目前越来越多开发者曾经投入到 Docker 的队伍中,同时随着技术更新迭代,BI 也在不断进步,当初 WynEnterprise 曾经反对 K8S 集群部署。接下来,将继续为大家分享数据集成,数据分析,集群部署等内容。