在过去的几年中,"云"作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理;或者是没用过,但听过它的大名;也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟。作为一名技术人员,只要你在这个软件行业里摸爬滚打,就一定对他有不同程度的了解。
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 数据可视化分析说起。通过对目前国内市面上多个 BI 应用进行调研后发现这些应用都存在一些问题。
上述问题的存在,就让 Docker 可以很好凸显他的价值。
首先 Docker 中的容器是与其他容器相互隔离的,在所获取的镜像中包含了 Docker 运行所需要的全部依赖的运行环境;所以只需要简单两行代码,就可以安装一个完整的 BI 应用。我们以 Wyn Enterprise 的部署为例,给大家演示下 Docker 进行软件部署的具体过程。
示例步骤:
sudo docker pull grapecitycn/wyn-enterprise
sudo docker run --name wyn -p 51980:51980 -d grapecitycn/wyn-enterprise
通过以上示例,我们可以看到,仅需简单的 3 个命令行,就快速完成了 BI 系统的部署。请问,还有什么比 Docker 更简单快捷的部署方式吗?
部署如此简单,那么如果要进行移植该如何做,集成的项目如何发布 Docker 仓库中呢?
接下来,我们通过一个案例系统的解镜像打包过程,为大家解答这两个问题。
事情的起因是客户找到葡萄,表示希望将 BI 软件打包到自己应用系统中,在实现 OEM 白标处理后,做一些个性化配置后,重新打包镜像,上传到 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 ;还可以根据自己的需要创建一些示例文档。
从该地址下载即可:
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 集群部署。接下来,将持续为大家分享数据集成,数据分析,集群部署等内容。