【博文推薦】為什么要用Docker?
本文出自51CTO博客博主陳小賤,如有任何問題,歡迎進入博主頁面互動討論。 |
一、什么是Dokcer?
Docker是一個開源項目, 誕生于2013年初, 最初是dotCloud公司內(nèi)部的一個業(yè)余項目。 它基于Google公司推出的Go語言實現(xiàn)。 項目后來加入了Linux基金會, 遵從了Apache 2.0協(xié)議, 項目代碼在GitHub上進行維護。
Docker自開源后受到廣泛的關(guān)注和討論, 以至于dotCloud公司后來都改名為Docker lnc。Redhat已經(jīng)在其RHEL 6.5中集中支持Docker; Google也在其PaaS產(chǎn)品中廣泛應(yīng)用。
在LXC的基礎(chǔ)上Docker進行了進一步的封裝, 讓用戶不需要去關(guān)心容器的管理, 使得操作更為簡便。 用戶操作Docker的容器就像操作一個快速輕量級的虛擬機一樣簡單。

二、為什么要用Docker?
作為一種新興的虛擬化方式, Docker跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢。
首先, Docker容器的啟動可以在秒級實現(xiàn), 這相比傳統(tǒng)的虛擬機方式要快得多, 其次, Docker對系統(tǒng)資源的利用率很高, 一臺主機上可以同時運行數(shù)千個Docker容器。
容器除了運行其中應(yīng)用外, 基本不消耗額外的系統(tǒng)資源, 使得應(yīng)用的性能很高, 同時系統(tǒng)的開銷盡量小。 傳統(tǒng)虛擬機方式運行10個不同的應(yīng)用就要起10個虛擬機, 而Docker只需啟動10個隔離的應(yīng)用即可。
更快速的交付和部署
對開發(fā)和運維(devop)人員來說,最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運行。
開發(fā)者可以使用一個標(biāo)準(zhǔn)的鏡像來構(gòu)建一套開發(fā)容器,開發(fā)完成之后,運維人員可以直接使用這個容器來部署代碼。 Docker 可以快速創(chuàng)建容器,快速迭代應(yīng)用程序,并讓整個過程全程可見,使團隊中的其他成員更容易理解應(yīng)用程序是如何創(chuàng)建和工作的。 Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節(jié)約開發(fā)、測試、部署的時間。
更高效的虛擬化
Docker 容器的運行不需要額外的 hypervisor 支持,它是內(nèi)核級的虛擬化,因此可以實現(xiàn)更高的性能和效率。
更輕松的遷移和擴展
Docker 容器幾乎可以在任意的平臺上運行,包括物理機、虛擬機、公有云、私有云、個人電腦、服務(wù)器等。 這種兼容性可以讓用戶把一個應(yīng)用程序從一個平臺直接遷移到另外一個。
更簡單的管理
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發(fā)和更新,從而實現(xiàn)自動化并且高效的管理。
對比傳統(tǒng)虛擬機總結(jié)
