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

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