企業(yè)IT對(duì)Docker容器充滿信心,某些分析師紛紛猜測(cè)Docker容器在下個(gè)階段會(huì)在服務(wù)器整合領(lǐng)域取代虛擬機(jī)。
新集裝箱化方式的有趣之處在于其并非新生事物,容器的概念在Unix早期通過(guò)使用chroot命令就已經(jīng)實(shí)現(xiàn)了。Linux容器技術(shù)是在2008年引入的,Docker軟件最初就是基于Linux容器構(gòu)建的。這么說(shuō)來(lái),容器如今突然引發(fā)人們興趣,原因何在?
集裝箱化應(yīng)用共享通用的操作系統(tǒng)內(nèi)核,實(shí)例不需要在各自獨(dú)立的操作系統(tǒng)之上運(yùn)行。應(yīng)用可以在幾秒鐘之內(nèi)完成部署,而且比基于hypervisor的虛擬化使用的資源更少。然而由于應(yīng)用都依賴(lài)于通用的操作系統(tǒng)內(nèi)核,這種方式僅適用于共享精確操作系統(tǒng)版本的應(yīng)用。Docker找到了一種解決該限制的方法。
Docker一路領(lǐng)先
Docker 是由一家PaaS公司dotCloud在2013年推出的一個(gè)開(kāi)源項(xiàng)目。Docker依賴(lài)于Linux內(nèi)核特性比如命名空間以及cgroups,以確保資源隔離并將應(yīng)用與其依賴(lài)項(xiàng)一起打包封裝,使應(yīng)用能夠在不同的Linux操作系統(tǒng)之上運(yùn)行——支持一定程度的可移植性,允許開(kāi)發(fā)人員使用任何語(yǔ)言編寫(xiě)應(yīng)用,并能夠輕松地將應(yīng)用從筆記本遷移到測(cè)試或生產(chǎn)服務(wù)器——無(wú)論底層使用的是哪種Linux發(fā)行版。正是可移植性激起了開(kāi)發(fā)者以及管理員的興趣。
Docker的市場(chǎng)銷(xiāo)售副總裁David Messina說(shuō):“在Docker之前,應(yīng)用或服務(wù)的可移植性從未得到過(guò)保證。正是由于Docker容器所采用的分離應(yīng)用限制的方式,幫助我們解決了依賴(lài)問(wèn)題。”
開(kāi)發(fā)人員幾乎馬上開(kāi)始注意到這種新的方式能夠解決他們所面臨的最大問(wèn)題之一。在2013年8月發(fā)布交互式指南之后的一個(gè)月,Docker稱(chēng)10000名開(kāi)發(fā)人員進(jìn)行了試用。在一年之內(nèi),紅帽以及亞馬遜增加了對(duì)Docker的商業(yè)支持——即使Docker主管警告用戶不要用于生產(chǎn)應(yīng)用也無(wú)濟(jì)于事。Docker 在2014年6月發(fā)布1.0版本時(shí),Docker引擎軟件已經(jīng)被下載了275萬(wàn)次。現(xiàn)在這一數(shù)字達(dá)到了一億次。
451 Research的研究經(jīng)理Jay Lyman說(shuō),分析師認(rèn)為Docker軟件正合時(shí)宜,越來(lái)越多的公司投資云計(jì)算并處于向DevOps遷移的過(guò)程中。
Lyman說(shuō):“ Docker提供了一個(gè)集成用戶界面,提供了更高級(jí)別的簡(jiǎn)便性。你不必成為一名Linux內(nèi)核專(zhuān)家就能夠使用Docker,這拓寬了潛在開(kāi)發(fā)人員的規(guī)模。”
Docker 獲得的關(guān)注越多,瑕疵也會(huì)被放大,而且有可能瞬間變得過(guò)于流行,至少這是Cal Leeming的思維。Cal Leeming是一名軟件工程師同時(shí)也是Docker批評(píng)家,他通過(guò)博客以及社交媒體表達(dá)了對(duì)Docker的關(guān)注。在生產(chǎn)環(huán)境中試用六個(gè)月以后,Cal Leeming說(shuō)他發(fā)現(xiàn)Docker軟件和Docker Hub Registry運(yùn)行緩慢而且令人失望。
“我可以很清楚地看到,它們承擔(dān)著投入資金提高產(chǎn)出的壓力,”Leeming說(shuō),“我評(píng)論Docker的原因不是要破壞或者影響該項(xiàng)目。但如此多的人正在試圖將Docker視作下一個(gè)行業(yè)標(biāo)準(zhǔn)。當(dāng)你看到這種事并且知道解決方案有缺陷,你需要反擊。”
然而,Docker贏得了某些很有名的用戶,包括PayPal、Spotify以及Yelp,這些用戶正在發(fā)現(xiàn)該軟件的價(jià)值。
Yik Yak是一家總部位于亞特蘭大市的移動(dòng)應(yīng)用公司,該公司的CTO Tom Chernetsky說(shuō):“我們使用Docker能夠非常快地為不同的開(kāi)發(fā)者構(gòu)建開(kāi)發(fā)及測(cè)試環(huán)境,而且不會(huì)干涉生產(chǎn)系統(tǒng)。對(duì)于快速發(fā)展的公司來(lái)說(shuō),Docker是游戲規(guī)則的顛覆者。”
Docker 出乎意料的成功引起了一些容器虛擬化競(jìng)爭(zhēng)對(duì)手的注意,激勵(lì)他們開(kāi)發(fā)自己的虛擬容器。在2014年底,CoreOS CEO Alex Polvi介紹了該公司新的容器項(xiàng)目Rocket,作為對(duì)Docker“在根本上有缺陷”方式的直接回應(yīng)。Docker的技術(shù)方法并不安全,因?yàn)槠湫枰粋€(gè)中央Docker守護(hù)進(jìn)程。而Rocket依賴(lài)于系統(tǒng)級(jí)守護(hù)進(jìn)程創(chuàng)建容器。
451 Research的研究經(jīng)理Jay Lyman說(shuō):“容器的官方標(biāo)準(zhǔn)仍有待觀察。我認(rèn)為我們已經(jīng)看到的和hypervisor更接近。VMware占據(jù)主導(dǎo)地位,應(yīng)用最為廣泛。但其肯定不是標(biāo)準(zhǔn),我們可能會(huì)看到類(lèi)似于Dockr和Rocket的其他容器。”