在过去的几年中,“云”作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理;或者是没用过,但听过它的大名;也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟。作为一名技术人员,只要你在这个软件行业里摸爬滚打,就一定对他有不同程度的了解。
Docker是什么?
docker的LOGO十分有特点,一条鲸鱼载着很多集装箱,集装箱中满是要交付的货物。鲸鱼就是操作系统,而集装箱就是Docker,集装箱中的就是要交付的货物,也就是应用程序。各种“货物”之间的尺寸、大小、形状是各不相同的,都要放到鲸鱼身上,那么就要考虑各种货物怎么安放,还得考虑货物之间能否重叠起来。于是就有了集装箱的概念,将每件货物都放到集装箱中,这样鲸鱼就可以有顺序地安放,省时省力。
那么就可以理解为:打包好的软件放到容器中,容器再放到操作系统中,就是简单的“build——ship——run”,这样就可以保证在自己电脑上怎么运行,在服务器上也是怎么运行,大大减少因为环境原因出错而导致程序运行错误,开发需要花费大量的精力去折腾环境。
Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,将镜像打包后上传到仓库,就可以发布应用到任意平台中。在使用时,只用一条命令就可以将镜像拉取到本地,然后一条命令就可以快速地将项目部署起来。这也完美的诠释了Docker的三大核心:镜像,容器,仓库。
那么,首先我们要来快速了解一下Docker的优势
01快
运行时的性能可以获取极大提升(经典的案例是提升97%)。
管理操作(启动,停止,开始,重启等等) 都以秒或毫秒为单位。
02敏捷
像虚拟机一样敏捷,成本更低,部署方式简单。
03灵活
将应用和系统“容器化”,不添加额外的操作系统。
04轻量
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。
05便宜
开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。
06云支持
云服务提供创建和管理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数据可视化分析说起。通过对目前国内市面上多个BI应用进行调研后发现这些应用都存在一些问题。
1. 依赖于运行环境 JDK,JAR,.NET Core等,若运行环境不一致也会导致各种问题出现。
2. 安装复杂。对于非专业人员,部署一套系统需要投入很大精力。
3. 过于依赖于操作系统。例如会存在x32位不可支持,win7环境配置难度大,winserver2008以前版本不支持等各种系统问题。
4. PC安装有各类应用软件,容易和已安装软件冲突,引发不可预知的异常问题。
5. PC安装各种杀毒软件,如360、金山毒霸、电脑管家等一些杀毒软件,会将进程杀掉,引起一些BI服务无法正常运行。
6. BI产品普遍有很多运行计划任务,个人PC安装BI应用后,即使不打开软件,程序依然在跑,容易引起PC运行比较卡顿。
上述问题的存在很好地凸显了Docker的价值
首先Docker中的容器是与其他容器相互隔离的,在所获取的镜像中包含了Docker运行所需要的全部依赖的运行环境;所以只需要简单两行代码,就可以安装一个完整的BI应用。我们以Wyn Enterprise的部署为例,给大家演示下Docker进行软件部署的具体过程。
示例步骤:
1. 安装Docker
2. 获取镜像:
“`
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
通过以上示例,我们可以看到,仅需简单的3个命令行,就快速完成了BI系统的部署。请问,还有什么比Docker更简单快捷的部署方式吗?
Docker镜像打包
部署如此简单,那么如果要进行移植该如何做,集成的项目如何发布Docker仓库中呢?
接下来,我们通过一个案例系统的解镜像打包过程,为大家解答这两个问题。
事情的起因是客户找到葡萄,表示希望将BI软件打包到自己应用系统中,在实现OEM白标处理后,做一些个性化配置后,重新打包镜像,上传到Docker仓库中。
说做就做,咱们现在就开始项目。
1. 首先,使用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进行个性化操作配置。
2. 按自己的要求进行系统配置
可以根据自己的需要来对系统进行配置,比如替换登录页面的背景图片和LOGO,系统左上角显示的LOGO,以及替换浏览器tag页上面显示的LOGO;还可以根据自己的需要创建一些示例文档。
3. 用admin登录到系统后,导出你需要的文档以及配置
4. 制作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 打包资源
从该地址下载即可:(GCDG社区Wyn Enterprise专区中产品教程板块,搜索自定义Wyn的docker镜像)
4.7 拉取Docker镜像进行验证
拉取上面步骤中创建好的Docker镜像,并使用该镜像创建一个docker容器。
访问该docker容器中运行的Wyn Enterprise应用并进行验证。
至此我们的Docker镜像都已经制作完成。
总结
这里我们系统为大家介绍了Docker应用的优势,以及整个BI项目在docker中部署的全过程。其中Docker镜像打包也是目前很多企业中比较喜欢的一个功能,通过简单的操作BI集成到自己的应用系统中一起打包,完美的解决了嵌入融合的问题。
目前,已经有越来越多的开发者加入到Docker的队伍中,同时,Docker的应用也在逐步深入,前文提到的WynEnterprise就已经支持K8S集群部署了。后续我们将持续为大家分享数据集成、数据分析、集群部署等内容,敬请期待。
如若转载,请注明出处:https://www.hanjifoods.com/1091.html