最完整的Docker聖經 - Docker原理圖解及全環境安裝

旨在建立一個「更輕量化的Container」

Docker一開始就是dotCloud的內部專屬專案,建立在其自行開發的「Cloudlets」,專案之上。Docker的開發者是Solomon Hykes、Andrea Luzzardi、Francois-Xavier Bourlet、Jeff Lindsay等人。

dotCloud本身就是一個PaaS的業者,使用的客戶當然也以DevOps為主,他們也針對了PaaS客戶的需求來設計Docker,也達成了下面的目的:

  • 不需要用到Hypervisor - 直接利用硬體效能
  • Linux核心現有功能 - 保持不同distro的Linux相容性
  • 放棄大量VM的sysadmin功能,如HA、FT等,這些工作交由系統層級實作
  • 保留VM的操作概念,如CPU、記憶體分配、獨立的網路拓樸 – 符合目前操作習慣
  • 拋棄VM檔案系統的概念,使用層次化的檔案系統 – 維持Container的輕便
  • 使用主從架構,有Docker Daemon及Docker Client – 便於自訂開發
  • 類似應用程式的執行方式 – 用「參數」代表不同的設定值

在內部使用了一陣之後,dotCloud的工程師們發現,這個專案如果只用在公司內部,實在是太可惜了,因此在2013年的7月23日,他們將原來Gluxter & Plaxo的CEO Ben Golub請來,並且進行商業化的動作,並且也讓Docker成為Open Source的專案,當然dotCloud在同年也改名為Docker Inc,因為在當時,Docker的名字響亮程度已經遠遠超過dotCloud了!

有關Docker的發展歷史以及版本演進,有興趣的讀者可以參考維基百科上的Docker條目)。一台實體伺服器可部署的Docker Container數量成百上千(相對於VM的數十個),目前也Docker已經被全世界所有的IDC所使用,在取代了傳統VM的架構之後,VM世界及Container世界之間的微妙變化將會如何發展,我們繼續看下去!

有興趣的讀者可以到維基百科上瞧瞧

內幕消息 – 昔日親密戰友,今日反目成仇

在Docker剛出來時,獲得許多Linux高手的推崇,其中最大的支援者之一,就是叢集Linux CoreOS的創辦人Alex Polvi。然而隨著Docker的商業化,Alex Polvi和Docker也漸行漸遠。Polvi甚至在和Gigaom的訪問上直指Docker的創辦人Solomon Hykes背棄原來Container的理念,並且Polvi的CoreOS也推出了自己Container Rocket。當然Solomon Hykes也不甘示弱在Twitter上回擊。兩人之間精彩的交鋒,可以參考

https://gigaom.com/2014/12/02/why-coreos-just-fired-a-rocket-at-docker/
http://www.ithome.com.tw/news/92769/
https://twitter.com/DShankar/timelines/539528446473289728/