docker為什么出現(xiàn)

1. 需求

軟件開(kāi)發(fā)一般大致分為兩個(gè)環(huán)節(jié),第一是本地開(kāi)發(fā), 第二是服務(wù)器部署。如果一個(gè)項(xiàng)目本地開(kāi)發(fā)好了,那么放到服務(wù)器上,有時(shí)候安裝環(huán)境會(huì)非常復(fù)雜,也正是因?yàn)槠鋸?fù)雜性,大公司才會(huì)有專(zhuān)門(mén)負(fù)責(zé)項(xiàng)目發(fā)布的運(yùn)維人員。為了解決這個(gè)問(wèn)題,docker技術(shù)應(yīng)運(yùn)而生。

2. 技術(shù)特點(diǎn)

  1. 環(huán)境隔離

Docker是一種虛擬化技術(shù),一大特點(diǎn)就是環(huán)境隔離。我們知道既然是虛擬化技術(shù),環(huán)境隔離必然是其一大特點(diǎn),比如我們之前使用過(guò)的虛擬機(jī)virtualBox,可以通過(guò)該軟件安裝很多個(gè)系統(tǒng)鏡像,然后做到系統(tǒng)與系統(tǒng)之間的隔離。那么,作為一種非?;鸬娜萜骷夹g(shù),那么它還有其他技術(shù)特點(diǎn)嗎?

  1. 鏡像小

VirtualBox雖然能夠完成系統(tǒng)之間的隔離,但是,這些系統(tǒng)文件的鏡像都是非常巨大的,常常能夠達(dá)到幾個(gè)G,甚至幾十G,這樣的體量會(huì)讓我們的個(gè)人電腦無(wú)法承受。

image.png

上圖是我們傳統(tǒng)的軟件配置模型,app是指我們開(kāi)發(fā)的應(yīng)用程序,lib是指這些軟件需要的環(huán)境,那么所有的app都是基于我們?cè)陔娔X中的這一個(gè)環(huán)境。

image.png

上圖則是Docker中的環(huán)境配置,每個(gè)小塊都是一個(gè)容器,有自己的一套環(huán)境,而且,內(nèi)核采用的也是簡(jiǎn)化版內(nèi)核。能夠做到非常小的體積

  1. 滿足更快速的交付和部署

在敏捷開(kāi)發(fā)的當(dāng)下,快速開(kāi)發(fā)應(yīng)用是非常重要的。傳統(tǒng)的方式是開(kāi)發(fā)要寫(xiě)一堆文檔供運(yùn)維人員使用,然后運(yùn)維按照文檔配置好環(huán)境并講開(kāi)發(fā)好的jar包跑進(jìn)入。那么現(xiàn)在有了docker,開(kāi)發(fā)人員只需要將jar+環(huán)境打包好,丟給運(yùn)維,讓運(yùn)維運(yùn)行起來(lái)就可以了。而且,比如應(yīng)用需要升級(jí),那么環(huán)境又要變更,這個(gè)過(guò)程非常麻煩且痛苦,那么使用docker以后,就可以將新內(nèi)容打包一并發(fā)送給運(yùn)維再次執(zhí)行便可以。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容