# 旨在建立一個「更輕量化的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條目](http://zh.wikipedia.org/wiki/Docker_(%E8%BB%9F%E9%AB%94))。一台實體伺服器可部署的Docker Container數量成百上千(相對於VM的數十個),目前也Docker已經被全世界所有的IDC所使用,在取代了傳統VM的架構之後,VM世界及Container世界之間的微妙變化將會如何發展,我們繼續看下去!
_有興趣的讀者可以到維基百科上瞧瞧_![](https://box.kancloud.cn/2015-08-09_55c7597764857.png)
內幕消息 – 昔日親密戰友,今日反目成仇
在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/](https://gigaom.com/2014/12/02/why-coreos-just-fired-a-rocket-at-docker/)
[http://www.ithome.com.tw/news/92769/](http://www.ithome.com.tw/news/92769/)
[https://twitter.com/DShankar/timelines/539528446473289728/](https://twitter.com/DShankar/timelines/539528446473289728/)
- 本書簡介
- Docker的故事及原理
- Docker的前世今生
- 從dotCloud平台管理到Docker
- 旨在建立一個「更輕量化的Container」
- 一定要了解的Docker原理
- Docker的最大特色
- Docker的元件– Linux核心部分
- Docker的元件– Docker核心部分
- 這些元件如何合作建立Docker環境
- 看個實例
- 全環境Docker的完整安裝
- 安裝前說明
- 在Mac及Windows下安裝Docker
- boot2docker簡介
- Mac OS下的boot2docker
- 在Windows下使用boot2docker
- 使用標準VM安裝
- 在Ubuntu Linux下安裝Docker
- 使用本書所附的VM
- 手動安裝Docker
- 讓Docker更好用的工具
- 使用雲端專用CoreOS
- CoreOS簡介
- 建立自動登入的CoreOS
- 更換CoreOS不安全的ssh key
- 生產環境vSphere CoreOS
- 在公有雲端平台部署Docker