##### 一、什麼是Dokcer?
> Docker是一個開源項目, 誕生於2013年初, 最初是dotCloud公司內部的一個業余項目。 它基於Google公司推出的Go語言實現。 項目後來加入了Linux基金會, 遵從了Apache 2.0協議, 項目代碼在GitHub上進行維護。
> Docker自開源後受到廣泛的關注和討論, 以至於dotCloud公司後來都改名為Docker lnc。Redhat已經在其RHEL 6.5中集中支持Docker; Google也在其PaaS產品中廣泛應用。
> 在LXC的基礎上Docker進行了進一步的封裝, 讓用戶不需要去關心容器的管理, 使得操作更為簡便。 用戶操作Docker的容器就像操作一個快速輕量級的虛擬機一樣簡單。
![image](http://oa8ttah2a.bkt.clouddn.com/docker-1.1.png)
##### 二、為什麼要用Docker?
> 作為一種新興的虛擬化方式, Docker跟傳統的虛擬化方式相比具有眾多的優勢。
> 首先, Docker容器的啟動可以在秒級實現, 這相比傳統的虛擬機方式要快得多, 其次, Docker對系統資源的利用率很高, 一台主機上可以同時運行數千個Docker容器。
> 容器除了運行其中應用外, 基本不消耗額外的系統資源, 使得應用的性能很高, 同時系統的開銷盡量小。 傳統虛擬機方式運行10個不同的應用就要起10個虛擬機, 而Docker只需啟動10個隔離的應用即可。
### 更快速的交付和部署
- 對開發和運維(devop)人員來說,最希望的就是一次創建或配置,可以在任意地方正常運行。
開發者可以使用一個標准的鏡像來構建一套開發容器,開發完成之後,運維人員可以直接使用這個容器來部署代碼。 Docker 可以快速創建容器,快速迭代應用程序,並讓整個過程全程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。 Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。
### 更高效的虛擬化
- Docker 容器的運行不需要額外的 hypervisor 支持,它是內核級的虛擬化,因此可以實現更高的性能和效率。
### 更輕松的遷移和擴展
- Docker 容器幾乎可以在任意的平台上運行,包括物理機、虛擬機、公有雲、私有雲、個人電腦、服務器等。 這種兼容性可以讓用戶把一個應用程序從一個平台直接遷移到另外一個。
### 更簡單的管理
- 使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發和更新,從而實現自動化並且高效的管理。
### 對比傳統虛擬機總結
特性 容器 虛擬機
啟動 秒級 分鐘級
硬盤使用 一般為 MB 一般為 GB
性能 接近原生 弱於
系統支持量 單機支持上千個容器 一般幾十個
http://xxxxxx/Linuxjc/1174502.html TechArticle