BI系统打包Docker镜像及容器化部署的具体实现
在過去的幾年中,"云"作為明星熱詞站在了各種新潮技術(shù)之中,你可能使用過,但說不清它的原理;或者是沒用過,但聽過它的大名;也可能連它的名字都沒聽過,但你對(duì)這只藍(lán)色鯨魚一定十分眼熟。作為一名技術(shù)人員,只要你在這個(gè)軟件行業(yè)里摸爬滾打,就一定對(duì)他有不同程度的了解。
Docker是什么?
Docker的LOGO十分有特點(diǎn),一條鯨魚載著很多集裝箱,集裝箱中滿是要交付的貨物。鯨魚就是操作系統(tǒng),而集裝箱就是Docker,集裝箱中的就是要交付的貨物,也就是應(yīng)用程序。各種"貨物"之間的尺寸、大小、形狀是各不相同的,都要放到鯨魚身上,那么就要考慮各種貨物怎么安放,還得考慮貨物之間能否重疊起來。于是就有了集裝箱的概念,將每件貨物都放到集裝箱中,這樣鯨魚就可以有順序的安放,省時(shí)省力。
那么就可以理解為:打包好的軟件放到容器中,容器再放到操作系統(tǒng)中,就是簡(jiǎn)單的"build——ship——run",這樣就可以保證在自己電腦上怎么運(yùn)行,在服務(wù)器上也是怎么運(yùn)行,大大減少因?yàn)榄h(huán)境原因出錯(cuò)而導(dǎo)致程序運(yùn)行錯(cuò)誤,開發(fā)需要花費(fèi)大量的精力去折騰環(huán)境。
Docker作為一個(gè)軟件集裝箱化平臺(tái),可以讓開發(fā)者構(gòu)建應(yīng)用程序時(shí),將它與其依賴環(huán)境一起打包到一個(gè)容器中,將鏡像打包后上傳到倉庫,就可以發(fā)布應(yīng)用到任意平臺(tái)中。在使用時(shí),只用一條命令就可以將鏡像拉取到本地,然后一條命令就可以快速的將項(xiàng)目部署起來。這也完美的詮釋了Docker的三大核心:鏡像,容器,倉庫。
那么,首先我們要來了解一下 Docker 的優(yōu)勢(shì):
1.快
運(yùn)行時(shí)的性能可以獲取極大提升(經(jīng)典的案例是提升97%)。
管理操作(啟動(dòng),停止,開始,重啟等等) 都是以秒或毫秒為單位的。
像虛擬機(jī)一樣敏捷,成本更低,部署方式簡(jiǎn)單。
將應(yīng)用和系統(tǒng)"容器化",不添加額外的操作系統(tǒng)。
你會(huì)擁有足夠的"操作系統(tǒng)",僅需添加或減小鏡像即可。在一臺(tái)服務(wù)器上可以布署100~1000個(gè)Containers容器。
5.便宜
開源的,免費(fèi)的,低成本的。由現(xiàn)代Linux內(nèi)核支持并驅(qū)動(dòng)。注* 輕量的Container必定可以在一個(gè)物理機(jī)上開啟更多"容器",注定比VMs要便宜。
云服務(wù)提供創(chuàng)建和管理Linux容器框架。
在之前的文章,我們也系統(tǒng)地介紹過Docker,感興趣的同學(xué)可以戳:
第一章:Docker與k8s的恩怨情仇(一)—成為PaaS前浪的Cloud Foundry
第二章:Docker與k8s的恩怨情仇(二)—用最簡(jiǎn)單的技術(shù)實(shí)現(xiàn)"容器"
第三章:Docker與k8s的恩怨情仇(三)—后浪Docker來勢(shì)洶洶
第四章:Docker與k8s的恩怨情仇(四)-云原生時(shí)代的閉源落幕
第五章:Docker與k8s的恩怨情仇(五)——Kubernetes的創(chuàng)新
第六章:Docker與k8s的恩怨情仇(六)—— "容器編排"上演"終結(jié)者"大片
第七章:Docker與k8s的恩怨情仇(七)—— "服務(wù)發(fā)現(xiàn)"大法讓你的內(nèi)外交互原地起飛
第八章:Docker與k8s的恩怨情仇(八)——驀然回首總覽Kubernetes
Docker應(yīng)用部署B(yǎng)I數(shù)據(jù)分析
通過上面一系列的介紹,我們可以從發(fā)展背景到具體原理和使用了解Docker。接下來我們將從BI數(shù)據(jù)分析應(yīng)用為例,為大家介紹如何實(shí)現(xiàn)Docker應(yīng)用程序部署。
首先我們從BI數(shù)據(jù)可視化分析說起。通過對(duì)目前國內(nèi)市面上多個(gè)BI應(yīng)用進(jìn)行調(diào)研后發(fā)現(xiàn)這些應(yīng)用都存在一些問題。
上述問題的存在,就讓 Docker 可以很好凸顯他的價(jià)值。
首先Docker中的容器是與其他容器相互隔離的,在所獲取的鏡像中包含了Docker運(yùn)行所需要的全部依賴的運(yùn)行環(huán)境;所以只需要簡(jiǎn)單兩行代碼,就可以安裝一個(gè)完整的BI應(yīng)用。我們以Wyn Enterprise的部署為例,給大家演示下Docker進(jìn)行軟件部署的具體過程。
示例步驟:
通過以上示例,我們可以看到,僅需簡(jiǎn)單的3個(gè)命令行,就快速完成了BI系統(tǒng)的部署。請(qǐng)問,還有什么比Docker更簡(jiǎn)單快捷的部署方式嗎?
Docker鏡像打包
部署如此簡(jiǎn)單,那么如果要進(jìn)行移植該如何做,集成的項(xiàng)目如何發(fā)布Docker倉庫中呢?
接下來,我們通過一個(gè)案例系統(tǒng)的解鏡像打包過程,為大家解答這兩個(gè)問題。
事情的起因是客戶找到葡萄,表示希望將BI軟件打包到自己應(yīng)用系統(tǒng)中,在實(shí)現(xiàn)OEM白標(biāo)處理后,做一些個(gè)性化配置后,重新打包鏡像,上傳到Docker倉庫中。
說做就做,咱們現(xiàn)在就開始項(xiàng)目。
通過:http://{server_ip_address}:51980進(jìn)行個(gè)性化操作配置。
可以根據(jù)自己的需要來對(duì)系統(tǒng)進(jìn)行配置,比如替換登錄頁面的背景圖片和LOGO,系統(tǒng)左上角顯示的LOGO,以及替換瀏覽器tag頁上面顯示的LOGO;還可以根據(jù)自己的需要?jiǎng)?chuàng)建一些示例文檔。
4.1. 準(zhǔn)備一臺(tái)Linux機(jī)器,把文件夾custom-wyn拷貝到這臺(tái)機(jī)器上面去;
4.2. 把步驟3中導(dǎo)出的壓縮文件重命名為sample_files.zip,并拷貝到目錄custom-wyn/sample_files;
4.3. 如果需要在自定義的Docker鏡像中內(nèi)置字體,請(qǐng)把準(zhǔn)備好的字體文件拷貝到目錄custom-wyn/custom_fonts下;
4.4. 根據(jù)自己的需要,修改dockerfile文件中docker鏡像wyn-enterprise的tag名稱;
4.5. 參照腳本文件push-docker-image.sh中的內(nèi)容,制作并且上傳Docker鏡像到Docker倉庫中。
4.6. 打包資源
從該地址下載即可:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=139206
4.7. 拉取Docker鏡像進(jìn)行驗(yàn)證
拉取上面步驟中創(chuàng)建好的Docker鏡像,并使用該鏡像創(chuàng)建一個(gè)docker容器。
訪問該docker容器中運(yùn)行的Wyn Enterprise應(yīng)用并進(jìn)行驗(yàn)證。
至此我們的Docker鏡像都已經(jīng)制作完成。
總結(jié)
這里我們系統(tǒng)為大家介紹了Docker應(yīng)用的優(yōu)勢(shì),以及整個(gè)BI項(xiàng)目在docker中部署的全過程。其中Docker鏡像打包也是目前很多企業(yè)中比較喜歡的一個(gè)功能,通過簡(jiǎn)單的操作BI集成到自己的應(yīng)用系統(tǒng)中一起打包,完美的解決了嵌入融合的問題。
目前越來越多開發(fā)者已經(jīng)投入到Docker的隊(duì)伍中,同時(shí)隨著技術(shù)更新迭代,BI也在不斷進(jìn)步,現(xiàn)在WynEnterprise已經(jīng)支持K8S集群部署。接下來,將持續(xù)為大家分享數(shù)據(jù)集成,數(shù)據(jù)分析,集群部署等內(nèi)容。
總結(jié)
以上是生活随笔為你收集整理的BI系统打包Docker镜像及容器化部署的具体实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Diango博客--21.实现简单的全文
- 下一篇: java信息管理系统总结_java实现科