IT領(lǐng)域的近20年發(fā)生了翻天覆地的變化,20年前的軟件開(kāi)發(fā)人員可能還會(huì)為能夠通過(guò)微軟的Visual Basic 6.0和Borland公司的Delphi 3.0開(kāi)發(fā)出能夠運(yùn)行在Windows上的界面GUI程序而感到欣喜若狂。而如今Visual Basic不知何處,Delphi也不見(jiàn)其蹤影,取而代之的是以Python和Go為代表的頗具時(shí)尚感的語(yǔ)言。業(yè)界著名的云平臺(tái)先驅(qū)OpenStack就是主要由Python語(yǔ)言來(lái)開(kāi)發(fā)的,而Docker容器應(yīng)用和容器編排軟件K8S則是由Go語(yǔ)言來(lái)開(kāi)發(fā)的。OpenStack產(chǎn)生于2010年,Dock容器程序問(wèn)世于2013年,K8S則是在2015年被我們所熟知。
在這短短的20年中,不僅僅軟件語(yǔ)言產(chǎn)生了此消彼長(zhǎng)的態(tài)勢(shì),用以存儲(chǔ)軟件版本的管理平臺(tái)也有很大的躍遷。以前主流的軟件代碼版本管理工具是微軟的Visual SoftSafe(VSS)和Subversion(SVN),目前主流代表則是分布式版本管理工具GitHub和以網(wǎng)站形式呈現(xiàn)的容器鏡像倉(cāng)庫(kù)(https://hub.docker.com/),鏡像倉(cāng)庫(kù)網(wǎng)站存儲(chǔ)了很多可以為企業(yè)或個(gè)人用戶拿來(lái)即用的應(yīng)用容器鏡像。
以下是如何使用特定應(yīng)用容器鏡像的場(chǎng)景解讀:
- 申請(qǐng)并登入一臺(tái)阿里或華為公有云上的虛擬機(jī)或云服務(wù)器;
- 監(jiān)測(cè)并準(zhǔn)備容器安裝所需的初始化環(huán)境,包括yum-utils應(yīng)用命令集、Bash Shell腳本運(yùn)行環(huán)境,以及安裝Docker程序的互聯(lián)網(wǎng)地址鏈接;
- 在虛擬機(jī)環(huán)境執(zhí)行Yum命令來(lái)安裝Docker程序;
- 在成功安裝Docker程序后,把Docker程序作為守護(hù)進(jìn)程來(lái)啟動(dòng),并把Docker程序設(shè)置為開(kāi)機(jī)就啟動(dòng);
- 在啟動(dòng)Docker程序后,可以通過(guò)Docker程序所提供的標(biāo)準(zhǔn)人機(jī)交互CLI命令與具體的業(yè)務(wù)應(yīng)用所在容器(Container)進(jìn)行交互;
- Docker程序的CLI命令提供對(duì)應(yīng)用所在容器(Container)的全生命周期進(jìn)行管理的能力,包括對(duì)特定應(yīng)用容器的創(chuàng)建、啟動(dòng)、停止、強(qiáng)制停止、刪除和強(qiáng)行刪除等操作;
- 在應(yīng)用容器被安全啟動(dòng)后,可以通過(guò)CLI命令登入該應(yīng)用容器,在應(yīng)用容器內(nèi)部進(jìn)行必要的軟件安裝、更新、升級(jí)和基于應(yīng)用容器所在操作系統(tǒng)的用戶空間文件系統(tǒng)的更改(比如針對(duì)Web應(yīng)用程序的首頁(yè)index.html文件內(nèi)容的更改);
- 將修訂后的新的應(yīng)用容器版本打包成全新的靜態(tài)鏡像,并將鏡像文件在在私有和公有的鏡像市場(chǎng)發(fā)布;
- 公有鏡像市場(chǎng)的容器鏡像可以供其他人做在線拉取并在其私有操作系統(tǒng)空間內(nèi)運(yùn)行;
- 不同容器間可以通過(guò)操作系統(tǒng)的不同命名空間(Namespace)的設(shè)置進(jìn)行邏輯隔離。容器本身也提供Restful API標(biāo)準(zhǔn)接口,可供外部應(yīng)用程序的安全調(diào)用。
針對(duì)以上應(yīng)用的容器化部署的解讀,我們可以切實(shí)感知基于容器來(lái)部署應(yīng)用的可行性。目前業(yè)務(wù)應(yīng)用的架構(gòu)正在從傳統(tǒng)的巨石架構(gòu)向微服務(wù)架構(gòu)轉(zhuǎn)型,以容器化的方式部署微服務(wù)已然成為時(shí)下的主流軟件部署形式?;贒ocker的部署能力和后期容器的日常維護(hù)都是IT技術(shù)人員所需面對(duì)的新課題。就像軟件技術(shù)的更替一樣,基于容器化的部署方式也必將成為很多企業(yè)主流選擇。