云計(jì)算之Docker:顛覆者還是曇花一現(xiàn)?
在云計(jì)算產(chǎn)業(yè)界,一場(chǎng)由一個(gè)技術(shù)掀起的革命正在悄悄上演:名不見經(jīng)傳的小公司橫插進(jìn)IT大佬構(gòu)筑的云生態(tài)產(chǎn)業(yè)鏈,各路IT企業(yè)紛紛擁抱該技術(shù)并接納該公司,云計(jì)算的構(gòu)建方式和實(shí)施方式也即將發(fā)生或多或少的改變。這個(gè)技術(shù)就是Docker,這個(gè)公司便是dotCloud。
DotCloud本是家新創(chuàng)業(yè)小公司,基本無(wú)事可表,而其無(wú)心發(fā)掘的一個(gè)技術(shù)Docker,卻在技術(shù)圈和業(yè)界受到廣泛關(guān)注。
易上手的開源容器技術(shù)Docker
Docker的魅力是讓大家看到了軟件行業(yè)全面走向服務(wù)化的趨勢(shì),很可能提高IT應(yīng)用各個(gè)環(huán)節(jié)10%~30%的整體效率。
Docker是一個(gè)開源項(xiàng)目,誕生于2013年年初,最初是dotCloud公司內(nèi)部的一個(gè)業(yè)余項(xiàng)目,它基于谷歌推出的Go語(yǔ)言實(shí)現(xiàn)。
Docker以Linux容器LXC為基礎(chǔ),實(shí)現(xiàn)輕量級(jí)的操作系統(tǒng)虛擬化解決方案。在LXC的基礎(chǔ)上Docker進(jìn)行了進(jìn)一步的封裝,讓用戶不需要去關(guān)心容器的管理,使得操作更為簡(jiǎn)便。用戶操作Docker的容器就像操作一個(gè)快速輕量級(jí)的虛擬機(jī)一樣簡(jiǎn)單。
簡(jiǎn)單來(lái)說(shuō),Docker是一種容器技術(shù)。青云(QingCloud)系統(tǒng)工程師楊錦濤向《中國(guó)電子報(bào)》記者介紹,Docker本質(zhì)上是一個(gè)上層管理工具,是對(duì)Linux內(nèi)核的各命名空間、網(wǎng)絡(luò)、cgroup和安全等方面項(xiàng)目的調(diào)用與整合,并暴露了一個(gè)不錯(cuò)的管理接口。其本身并不復(fù)雜,復(fù)雜性在于更底層的Linux內(nèi)核、網(wǎng)絡(luò)和安全方面。而Docker的魅力從服務(wù)角度來(lái)說(shuō),是它讓大家看到了一種可能或者一種趨勢(shì),即軟件行業(yè)全面走向服務(wù)化的趨勢(shì)。Docker生態(tài)圈里已有的豐富的Image才是Docker真正的價(jià)值所在。
云棧科技副總裁石海旭認(rèn)為,Docker目前的影響主要集中在兩方面,一方面是從IT基礎(chǔ)架構(gòu)方面來(lái)講,Docker提供了輕量/快速/可移植性更好的虛擬化方案,這就為進(jìn)一步釋放IT生產(chǎn)力/特別是釋放計(jì)算能力提供了可能性;另一方面,Docker可能會(huì)深刻影響到目前各種IT應(yīng)用的整個(gè)生命周期,包括開發(fā)、測(cè)試、部署、維護(hù)等各個(gè)環(huán)節(jié)。如果理想的話,Docker很有可能***限度地提高IT應(yīng)用的各個(gè)環(huán)節(jié)的效率。例如,10%~30%的整體的效率提升是有可能的,換個(gè)角度,這也就意味著10%~30%的成本節(jié)約。
目前,一些業(yè)內(nèi)人士提出可以將容器作為服務(wù)提供的觀點(diǎn)(CAAS,Containers as a Service),也有一些新興公司在嘗試CAAS。簡(jiǎn)單點(diǎn)說(shuō),CAAS有些類似IAAS,但I(xiàn)AAS提供虛擬機(jī),CAAS則在IAAS之上提供容器。石海旭認(rèn)為,CAAS為跨IAAS平臺(tái)實(shí)現(xiàn)動(dòng)態(tài)調(diào)度容器、移動(dòng)容器提供了可能性。即某種程度上用戶不再需要關(guān)心他的容器到底是運(yùn)行在AWS還是阿里云或者私有云上,因?yàn)镃AAS服務(wù)商將提供自動(dòng)化或者定制化的服務(wù)幫助用戶進(jìn)行資源調(diào)配,幫助客戶選擇最適合的云平臺(tái)。
各大IT巨頭擁抱Docker
知名的云計(jì)算公司以及軟件、操作系統(tǒng)、系統(tǒng)集成廠商、配置管理軟件、大數(shù)據(jù)廠商以及開源軟件都在向Docker靠攏。
在2014年1年的時(shí)間里,Docker的生態(tài)系統(tǒng)發(fā)展迅猛,知名的云計(jì)算公司以及軟件、操作系統(tǒng)、系統(tǒng)集成廠商、配置管理軟件、大數(shù)據(jù)廠商以及開源軟件都在向Docker靠攏,不管在哪個(gè)領(lǐng)域,Docker都在滲入和影響現(xiàn)有的體系。
亞馬遜AWS在去年11月的亞馬遜大會(huì)上推出了Amazon EC2 Container服務(wù),支持Docker。用戶可在托管的EC2實(shí)例集群上輕松地發(fā)布、管理和擴(kuò)展從1個(gè)到數(shù)十萬(wàn)個(gè)容器,而之前想達(dá)到這個(gè)效果用戶只能自己開發(fā)軟件或使用開源工具。亞馬遜是***個(gè)將Docker應(yīng)用于公有云集群服務(wù)的廠商。
另外,微軟也稱將在下一個(gè)版本的Windows Server中支持Docker,雖然微軟早在之前就開發(fā)了自己的容器技術(shù),但是卻在自己的Server里選擇了支持Docker。
回到國(guó)內(nèi)的公有云服務(wù)企業(yè),阿里云曾在去年10月在自己的博客上透露,用戶可以使用阿里云云服務(wù)器(ECS)部署Docker容器應(yīng)用,在ECS上把應(yīng)用打包成Docker鏡像、運(yùn)行Docker容器,從阿里云提供的鏡像庫(kù)中快速下載官方鏡像,或者部署自己的私有鏡像庫(kù)。不過(guò),《中國(guó)電子報(bào)》記者就此求證阿里云時(shí),其內(nèi)部人員表示阿里云其實(shí)只是表面支持了下Docker,并沒(méi)有深入使用。
楊錦濤透露,青云預(yù)計(jì)將在今年年中支持Docker。“從產(chǎn)品的角度來(lái)說(shuō),我們首先強(qiáng)力支持用戶在我們的IaaS平臺(tái)上基于容器技術(shù)提供服務(wù)(我們已經(jīng)有很多這樣的用戶),其次我們自己也會(huì)在容器方面做工作,比如會(huì)提供支持Docker的Image、Docker Cluster服務(wù),甚至?xí)紤]自己開發(fā)且運(yùn)營(yíng)Docker cluster。”他說(shuō)。
而UCloud目前也已經(jīng)將Docker用到產(chǎn)品中去。UCloud主機(jī)開發(fā)部經(jīng)理葉理燈告訴《中國(guó)電子報(bào)》記者,分布式數(shù)據(jù)處理UDDP和數(shù)據(jù)庫(kù)UDB中應(yīng)用了Docker,公司內(nèi)部業(yè)務(wù)也將逐步Docker化。他認(rèn)為,將內(nèi)部業(yè)務(wù)通過(guò)Docker打包,便于快速部署,運(yùn)行時(shí)節(jié)省資源,特別適合將重復(fù)性的服務(wù)進(jìn)行快速擴(kuò)展。
不過(guò),相對(duì)云服務(wù)企業(yè)和互聯(lián)網(wǎng)企業(yè),絕大部分公司對(duì)Docker的使用還停留在觀望狀態(tài),并且將Docker應(yīng)用于生產(chǎn)環(huán)境的公司少之又少。
若不再開源Docker去向難料
有人認(rèn)為其***顛覆性,也有人表示其僅是云生態(tài)的一部分。
對(duì)于Docker的影響力,業(yè)界公認(rèn)其是近年來(lái)發(fā)展最快的用于云計(jì)算的技術(shù)之一,有人認(rèn)為其***顛覆性,也有人表示其僅是云生態(tài)的一部分。
例如微軟、亞馬遜、谷歌、IBM、Facebook、Twitter、紅帽以及公有云和混合云服務(wù)商Rackspace、SaaS服務(wù)商Salesforce等諸多公司都十分樂(lè)意接納并談?wù)揇ocker技術(shù),還在自己的產(chǎn)品中集成Docker。事實(shí)上,Docker僅僅是從2014年才起步,僅1年的時(shí)間就獲得了諸多IT巨頭的認(rèn)可,這和其技術(shù)的領(lǐng)先性和開源策略分不開。
不過(guò),最近一段時(shí)間Docker的創(chuàng)始公司dotCloud似乎有意將這個(gè)開源項(xiàng)目轉(zhuǎn)向閉源。2014年11月當(dāng)另一個(gè)開源項(xiàng)目團(tuán)隊(duì)CoreOS發(fā)布了自己的容器引擎Rocket時(shí),他們指責(zé)Docker已忘初心。楊錦濤對(duì)《中國(guó)電子報(bào)》記者坦言,Docker目前走的路其實(shí)和當(dāng)年的虛擬化技術(shù)XEN看起來(lái)很像,XEN最初是完全開源的項(xiàng)目,后來(lái)他們開始發(fā)現(xiàn)事情不大對(duì),“I need to make money”,然后就開始兩條腿走路,一方面繼續(xù)開源,另一方面在管理層面的項(xiàng)目走閉源,后來(lái)整個(gè)XEN項(xiàng)目走著走著就基本走死了。
而且,楊錦濤表示,容器技術(shù)相對(duì)虛擬化技術(shù)要簡(jiǎn)單得多,這意味著容器技術(shù)很可能不會(huì)像虛擬化項(xiàng)目那樣鳳毛麟角。前段時(shí)間除了CoreOS推出的Rocket之外,還有VMWare的CloudFoudry、紅帽的Openshift、谷歌的Imctfy等等,都是容器技術(shù),這些公司的技術(shù),都會(huì)與Docker競(jìng)爭(zhēng)。青云對(duì)Docker項(xiàng)目的態(tài)度是關(guān)注且持謹(jǐn)慎態(tài)度的,甚至青云也會(huì)做自己的容器項(xiàng)目。
另外,Docker也有不足。葉理燈告訴《中國(guó)電子報(bào)》記者,由于Docker現(xiàn)階段的隔離還不是特別完全,出于安全性的考慮,直接運(yùn)行在物理機(jī)上的Docker產(chǎn)品還不能替代現(xiàn)在的虛擬機(jī)產(chǎn)品向公眾推出。但在私有云產(chǎn)品上,UCloud看好Docker產(chǎn)品的進(jìn)一步發(fā)展。
微觀點(diǎn)
好評(píng)
@MES哥:據(jù)我的理解,雖然我還不是特別理解Docker的原理,但我覺(jué)得它在系統(tǒng)自動(dòng)化運(yùn)維方面開啟了新的篇章,空間很大。我也希望能夠在運(yùn)維方面掌握這門技術(shù)。
@創(chuàng)業(yè)者馬鈞:Docker剛出來(lái)的時(shí)候就關(guān)注過(guò),只是當(dāng)時(shí)還太簡(jiǎn)陋,缺少很多功能,因此選擇了Vagrant。最近回過(guò)頭來(lái),重新拾起Docker,發(fā)現(xiàn)不管是系統(tǒng)本身,還是社區(qū)生態(tài),都有了巨大的提升。這幾天使用下來(lái),發(fā)現(xiàn)能有效提升工作效率,原來(lái)很多繁瑣的安裝步驟,現(xiàn)在直接一行命令,下載并運(yùn)行就可以搞定。
@鞏小東-gordon:Coreos用ext4+overlayfs替換了btrfs,感覺(jué)這公司舍不得投基礎(chǔ)設(shè)施,走回頭路。和Docker競(jìng)爭(zhēng),不看好。
@蔣濤CSDN:拜訪Docker,2014年最紅的技術(shù)公司!從PaaS轉(zhuǎn)型到Container大獲成功,小團(tuán)隊(duì)開創(chuàng)的新技術(shù),獲得amazon、google、微軟、vmware全力支持,2015會(huì)更加紅火。
@獅巴達(dá)克詩(shī):Docker做云效果很好,就是技術(shù)太新了,變化太快。
差評(píng)
@itudoumao:Docker安裝過(guò)幾次,也成功運(yùn)行過(guò)一次,但感覺(jué)像個(gè)半殘品似的,想要在企業(yè)里用,估計(jì)還得要一段時(shí)間。有人說(shuō)Vmware與Docker結(jié)合會(huì)更棒,現(xiàn)在像這種容器,市面上還是有些產(chǎn)品的,希望越來(lái)越好。
@群猩2014:我目前感覺(jué)Docker使用的難點(diǎn)有:一是Docker內(nèi)部和真正的linux還是有一定差距的,比如mount之類,實(shí)現(xiàn)時(shí)需要解決這些小麻煩,二是網(wǎng)絡(luò)設(shè)置問(wèn)題目前沒(méi)太好的簡(jiǎn)單解決方案,隔離程度不如傳統(tǒng)VM那么方便。
@雨吁的噓:在Windows使用Docker仍是一個(gè)非常糟糕的體驗(yàn)。虛擬機(jī)經(jīng)常在初始化時(shí)停住了,應(yīng)該是VirtualBox的問(wèn)題。
@謝瑞璇:Docker難點(diǎn)就是每次操作只能針對(duì)單個(gè)容器或鏡像,枯燥呆板,命令行參數(shù)還特別多、特別長(zhǎng),并且特別難記。
觀望
@LUPA開源社區(qū):CoreOS在發(fā)布Rocket時(shí)曾指出,有些人需要更“純凈”的容器。換句話說(shuō),Rocket是“App Container Specification”的標(biāo)準(zhǔn)實(shí)現(xiàn)。
@peter_cz_peng:Docker如何解決多個(gè)相同服務(wù)的隔離,如何利用相同的物理硬件提供比虛擬機(jī)更好的性能和效率,是我當(dāng)前認(rèn)為***的問(wèn)題。
@marks72:我的感覺(jué)是,VM更加瘦身、輕便了。難點(diǎn)是這仍然是一個(gè)發(fā)展待成熟的系統(tǒng),不敢用到核心生產(chǎn)應(yīng)用上。
@羅比陳:互聯(lián)網(wǎng)金融平臺(tái)與Docker的必然關(guān)系:1.降低運(yùn)營(yíng)成本,一臺(tái)服務(wù)器成本7萬(wàn)~8萬(wàn),怎么***限度壓榨服務(wù)器的產(chǎn)出。2.金融平臺(tái)組件復(fù)雜,業(yè)務(wù)特點(diǎn)不允許出現(xiàn)服務(wù)中斷,怎樣保證業(yè)務(wù)的強(qiáng)連續(xù)性。3.技術(shù)驅(qū)動(dòng)的公司需要***的技術(shù)人員,***的技術(shù)人員喜歡***的技術(shù)。
@i劉Z:剛出來(lái)的時(shí)候草草看了一下,功能太low,不知道現(xiàn)在發(fā)展怎么樣,聽介紹感覺(jué)在各種環(huán)境部署上省去了麻煩,Coreos感覺(jué)略坑。Docker必須要有3x內(nèi)核,所以Centos6不用想了,能滿足復(fù)合內(nèi)核要求,又不用重裝機(jī)器,又是在生產(chǎn)環(huán)境一般的條件下,就只能運(yùn)用在ubuntu系統(tǒng)里了。
@小小小小玄:KVM讓作業(yè)系統(tǒng)與硬件解耦;而Docker讓整個(gè)應(yīng)用環(huán)境和平臺(tái)解耦。
@天藍(lán)99345:好像有點(diǎn)明白了,Docker 通過(guò)不僅僅打包應(yīng)用程序,也打包應(yīng)用程序的依賴環(huán)境來(lái)解決這個(gè)問(wèn)題。
原文鏈接:http://epaper.cena.com.cn/content/2015-01/20/content_251464.htm

























