APP開發(fā)對于Docker的應(yīng)用我們首先要了解他的原理,博納網(wǎng)絡(luò)在上篇文章中做過簡單介紹,本文主要與各位APP開發(fā)愛好者分享Docker的原理與如何搭建一致虛擬環(huán)境的應(yīng)用,虛擬化技術(shù)實現(xiàn)了個虛擬操作系統(tǒng),在這個虛擬操作系統(tǒng)上運行應(yīng)用。傳統(tǒng)的虛擬化技術(shù)體系架構(gòu)如下圖所示。
Docker的虛擬化技術(shù)體系在服務(wù)器的操作系統(tǒng)上有個Docker服務(wù)在運行,在這個Docker服務(wù)上運行著多個Docker容器,每個Docker容器中運行著應(yīng)用,容器與容器間的應(yīng)用是相互隔離、相互獨立的,但通過Docker服務(wù)占用著服務(wù)器的硬件和網(wǎng)絡(luò)資源。
APP開發(fā)對于Docker的虛擬化技術(shù)體系架構(gòu)如圖3-21所示。
APP開發(fā)搭建一致的開發(fā)環(huán)境首先我們要弄清楚Docker中有3個關(guān)鍵概念
·鏡像(Image):Docker鏡像(Image)類似于虛擬機(jī)鏡像,可以把其理解為Docker的只讀模板,其包含了文件系統(tǒng)。
·容器(Contaiuer):Docker容器(Coutainer)類似于個沙箱,Docker使用容器隔離資源,并在其內(nèi)部運行應(yīng)用,可看成是個簡易版的Liuux環(huán)境。鏡像是只讀,容器從鏡像啟動后,Docker會在鏡像最上層創(chuàng)建個可寫層,這樣鏡像本身就能保持不變。
·倉庫(Repository):Docker倉庫(Repository)類似于代碼倉庫,是Docker集中存放鏡像文件的場所。
Docker倉庫里面包含了大量操作系統(tǒng)的基礎(chǔ)鏡像(例如CentOS、Ubuntu等).開發(fā)者從倉庫中拉取這些操作系統(tǒng)的基礎(chǔ)鏡像后就能在其基礎(chǔ)之上構(gòu)建自身環(huán)境的鏡像。
Docker提供了Dockerfile這種腳本給開發(fā)者創(chuàng)建自定義的鏡像。開發(fā)者通過Dockerfile.很容易在操作系統(tǒng)的基礎(chǔ)鏡像(例如CentOS、Ubuntu等)上要裝指定的軟件及其依賴,從而構(gòu)建個適用于自身業(yè)務(wù)環(huán)境的鏡像。
簡單來說,我們APP開發(fā)者可以把操作系統(tǒng)的基礎(chǔ)鏡像理解為個干凈版操作系統(tǒng),通過Dockerfile(相當(dāng)于Linux上的安裝腳本)往這個干凈版操作系統(tǒng)上安裝需要的軟件后,再生成一個新的鏡像。
下面是一個Dockerfile的例子,運行這個Dockerfile就能構(gòu)建Java開發(fā)環(huán)境的Docker鏡像(Dockerfile來源:https://github.com/dockerfile/java/blob/master/oracle-java7/dockerfile).

使用Docker構(gòu)建致的開發(fā)環(huán)境是依賴于Dockerfile:把編寫完成的Dockerfile放置在版本管理服務(wù)器中,在不同的服務(wù)器上獲取這個
Dockerfile并運行就能構(gòu)建相同的鏡像,從而得到致的開發(fā)環(huán)境。這個流程如圖
好了,深圳APP開發(fā)公司,博納網(wǎng)絡(luò)關(guān)于APP制作后臺對于Docker應(yīng)用原理與搭建一致服務(wù)環(huán)境方面的經(jīng)驗介紹本文就分享到這里。喜歡本站的朋友,敬請持續(xù)關(guān)注,我們會定期對APP開發(fā)關(guān)于后臺制作方面的經(jīng)驗進(jìn)行分享。