只用了不到十年的時間,容器技術就從默默無名走到了今天的眾人追捧。這當然要取決于容器技術的先天優勢,如簡化程序、節省開支等,但是,曠日持久的容器標準之戰也為容器的成熟與產品化提供了助力。
Docker是最為大眾所熟知的容器技術產品,它是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上。Docker提出的口號也是"Build once,Run anywhere"。但是,從2014年年末,Docker就遇到了一個競爭對手:CoreOS發布的Rocket的開源項目。
CoreOS小組認為:Docker在安全性、可組合性方面是有根本上的缺陷的,而Rocket的設計原型就是為了彌補這些缺陷,相比較要更加優秀。
隨后的日子里,雙方的標準之爭可謂愈演愈烈。直到2015年的DockerCon大會上,推出了一個開放容器技術項目(Open Container Project)。OCP是一個非營利性組織,其受特許建立通用的容器軟件技術標準。在微軟、谷歌、惠普、IBM、英特爾、紅帽(Red Hat)、VMware和高盛等企業的推動下,容器標準化之路開始實施,雖然之間有傳出Docker已經成為事實上的標準,但是CentOS似乎并不以為意,并在2017年7月,推出了rkt v1.27.0容器引擎。
rkt v1.27.0 GitHub頁面
針對這款CentOS容器新品,筆者了解到,Rocket(rkt)與Docker不同之處在于,Rocket沒有Docker諸如云服務加速工具、集群系統等那些為企業用戶提供的“友好功能”,似乎是一個更純粹的容器。而CentOS發布rkt v1.27.0之后容器標準之爭又將走向何處,讓我們拭目以待。