天天看點

Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )

伴随着Docker公司的容器技術生态在雲計算市場中站穩了腳跟,圍繞着Docker項目進行的各個層次的內建與創新産品,也如雨後春筍般出現在這個新興市場當中。

而Docker公司,不失時機地釋出了Docker Compose、Swarm和Machine“三件套”,在重定義PaaS走出了最關鍵的一步。

這段時間大量圍繞着Docker項目的網絡、存儲、監控、CI/CD,甚至UI項目紛紛出台,湧現出如Rancher、Tutum這樣在開源與商業上均取得了巨大成功的創業公司。

2014~2015年間,容器社群真是熱鬧非凡。

繁榮背後,更多擔憂,即對Docker公司商業化戰略的種種顧慮。

Docker項目此時已經成為Docker公司一個商業産品。而開源,隻是Docker公司吸引開發者群體的一個重要手段。

不過這麼多年來,開源社群的商業化其實都是類似的思路,無非是高不高調、心不心急的問題罷了。

真正令大多數人不滿意的是Docker公司在Docker開源項目的發展上,始終保持絕對權威,并在多場合挑戰其他玩家(CoreOS、RedHat,谷歌微軟)的切身利益。

其實在Docker項目剛剛興起時

Google也開源了一個在内部使用多年、經曆過生産環境驗證的Linux容器

1 lmctfy(Let Me Container That For You)

Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )

然而,面對Docker項目的強勢崛起,這個對使用者沒那麼友好的Google容器項目根本沒有招架之力。是以,知難而退的Google公司,向Docker公司表示了合作的願望:關停這個項目,和Docker公司共同推進一個中立的容器運作時(container runtime)庫作為Docker項目的核心依賴。

不過,Docker公司并沒有認同這個明顯會削弱自己地位的提議,還在不久後,自己釋出了一個容器運作時庫

2 Libcontainer

Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )

這次匆忙的、由一家主導的、并帶有戰略性考量的重構,成了Libcontainer被社群長期诟病代碼可讀性差、可維護性不強的一個重要原因。

至此,Docker公司在容器運作時層面上的強硬态度,以及Docker項目在高速疊代中表現出來的不穩定和頻繁變更的問題,開始讓社群叫苦不疊。

這種情緒在2015年達到了一個小高潮,容器領域的其他幾位玩家開始商議“切割”Docker項目的話語權 — 成立一個中立的基金會。

2015年6月22日,由Docker公司牽頭,CoreOS、Google、RedHat等公司共同宣布,Docker公司将Libcontainer捐出,并改名為

3 runc

Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )

交由一個完全中立的基金會管理,然後以runc為依據,大家共同制定一套容器和鏡像的标準和規範。

這套标準和規範,就是

4 OCI( Open Container Initiative )

Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )
Docker容器實戰(四) - 紛紛擾擾,終歸塵土(上)1 lmctfy(Let Me Container That For You)2 Libcontainer3 runc4 OCI( Open Container Initiative )

OCI的提出,意在将容器運作時和鏡像的實作從Docker項目中完全剝離出來

  • 一方面可以改善Docker公司在容器技術上一家獨大的現狀
  • 另一方面也為其他玩家不依賴于Docker項目建構各自的平台層能力提供了可能

OCI更多是高端玩家出于自身利益一個妥協結果

盡管Docker是OCI的發起者和創始成員,卻很少在OCI的技術推進和标準制定等事務上扮演關鍵角色,也沒動力推進這些所謂标準。

這也是OCI組織效率持續低下的根本原因。

眼看着OCI無力改變Docker公司容器領域一家獨大現狀,Google和RedHat等第二把武器擺上了台面。

Docker之是以不擔心OCI威脅,就在于它的Docker項目是容器生态的事實标準,而它所維護的Docker社群也足夠龐大。

可是,一旦這場鬥争被轉移到容器之上的平台層,或者說PaaS層,Docker公司的競争優勢捉襟見肘

在這個領域裡,像Google和RedHat這樣的成熟公司,都擁有着深厚的技術積累

而像CoreOS這樣的創業公司,也擁有像Etcd這樣被廣泛使用的開源基礎設施項目。

可是Docker公司呢?它卻隻有一個Swarm。

是以這次,Google、RedHat等開源基礎設施領域玩家們,發起名為

繼續閱讀