隨著云計(jì)算的崛起和不斷發(fā)展,“云計(jì)算”這個(gè)詞幾乎已經(jīng)家喻戶曉,而在云計(jì)算領(lǐng)域,Docker是開(kāi)發(fā)者需要具備的基本技能之一。那么,你知道什么是Docker嗎?
什么是Docker?
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中,該容器包含了應(yīng)用程序的代碼、運(yùn)行環(huán)境、依賴(lài)庫(kù)、配置文件等必需的資源,通過(guò)容器就可以實(shí)現(xiàn)方便快速并且與平臺(tái)解耦的自動(dòng)化部署方式,無(wú)論你部署時(shí)的環(huán)境如何,容器中的應(yīng)用程序都會(huì)運(yùn)行在同一種環(huán)境下。
容器是現(xiàn)代軟件交付的未來(lái),Docker便是目前使用最廣泛的容器之一,它作為輕量級(jí)虛擬化技術(shù),擁有持續(xù)集成、版本控制、可移植性、隔離性和安全性等優(yōu)勢(shì)。
Docker的優(yōu)勢(shì)具體有哪些?
1、Docker啟動(dòng)快速屬于秒級(jí)別。虛擬機(jī)通常需要幾分鐘去啟動(dòng)。
2、Docker需要的資源更少,Docker在操作系統(tǒng)級(jí)別進(jìn)行虛擬化,Docker容器和內(nèi)核交互,幾乎沒(méi)有性能損耗,性能優(yōu)于通過(guò)Hypervisor層與內(nèi)核層的虛擬化。
3、Docker更輕量,Docker的架構(gòu)可以共用一個(gè)內(nèi)核與共享應(yīng)用程序庫(kù),所占內(nèi)存極小。同樣的硬件環(huán)境,Docker運(yùn)行的鏡像數(shù)遠(yuǎn)多于虛擬機(jī)數(shù)量,對(duì)系統(tǒng)的利用率非常高。
4、與虛擬機(jī)相比,Docker隔離性更弱,Docker屬于進(jìn)程之間的隔離,虛擬機(jī)可實(shí)現(xiàn)系統(tǒng)級(jí)別隔離。
5、安全性:Docker的安全性也更弱。Docker的租戶root和宿主機(jī)root等同,一旦容器內(nèi)的用戶從普通用戶權(quán)限提升為root權(quán)限,它就直接具備了宿主機(jī)的root權(quán)限,進(jìn)而可進(jìn)行無(wú)限制的操作。
6、可管理性:Docker的集中化管理工具還不算成熟。各種虛擬化技術(shù)都有成熟的管理工具,例如VMware vCenter提供完備的虛擬機(jī)管理能力。
7、高可用和可恢復(fù)性:Docker對(duì)業(yè)務(wù)的高可用支持是通過(guò)快速重新部署實(shí)現(xiàn)的。
8、快速創(chuàng)建、刪除:虛擬化創(chuàng)建是分鐘級(jí)別的,Docker容器創(chuàng)建是秒級(jí)別的,Docker的快速迭代性,決定了無(wú)論是開(kāi)發(fā)、測(cè)試、部署都可以節(jié)約大量時(shí)間。
9、交付、部署:虛擬機(jī)可以通過(guò)鏡像實(shí)現(xiàn)環(huán)境交付的一致性,但鏡像分發(fā)無(wú)法體系化。Docker在Dockerfile中記錄了容器構(gòu)建過(guò)程,可在集群中實(shí)現(xiàn)快速分發(fā)和快速部署。
在初步了解過(guò)Docker以后,你有沒(méi)有對(duì)云計(jì)算開(kāi)發(fā)工具有了更深的了解呢?