云計(jì)算關(guān)鍵技術(shù)之容器技術(shù)
容器技術(shù)是英文Linux Container的直譯,這種技術(shù)最初使用在Linux操作系統(tǒng)上。如下圖所示,在 Linux系統(tǒng)中,容器技術(shù)是一種隔離技術(shù),通過(guò)容器技術(shù)將不同服務(wù)封裝在對(duì)應(yīng)的容器中,之后結(jié)合一些腳本使這些容器按照要求相互協(xié)作。所有容器共享同一個(gè)操作系統(tǒng)內(nèi)核。每個(gè)容器可單獨(dú)限制CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)帶寬容量,并且擁有獨(dú)立的IP地址和操作系統(tǒng)管理員賬戶。
容器是一個(gè)標(biāo)準(zhǔn)的軟件單元,它打包代碼及其所有依賴項(xiàng),以便應(yīng)用程序從一個(gè)計(jì)算環(huán)境快速可靠地遷移到另一個(gè)計(jì)算環(huán)境。Docker 容器鏡像是一個(gè)輕量級(jí)的、獨(dú)立的、可執(zhí)行的軟件包,包括運(yùn)行應(yīng)用程序所需的一切:如代碼、運(yùn)行環(huán)境、系統(tǒng)工具、系統(tǒng)庫(kù)和設(shè)置。Docker是容器的引擎,通過(guò)Docker引擎就可以實(shí)現(xiàn)容器的功能。
容器技術(shù)最重要的價(jià)值是:為在不同主機(jī)上運(yùn)行的應(yīng)用程序服務(wù)提供一個(gè)輕便、一致的格式。容器格式的標(biāo)準(zhǔn)化可加快交付體驗(yàn),允許用戶方便地對(duì)工作負(fù)載進(jìn)行遷移,避免局限于單一的平臺(tái)提供商。利用容器可以短時(shí)間內(nèi)部署成百上千個(gè)應(yīng)用,保證用戶應(yīng)用快速上線;容器可以簡(jiǎn)化配置過(guò)程,用戶應(yīng)用的運(yùn)行環(huán)境可以直接打包到容器內(nèi),使用時(shí)可以直接啟動(dòng)。
如上圖所示,左圖為容器技術(shù)架構(gòu)圖,右圖為虛擬化技術(shù)架構(gòu)圖。兩者相比,容器與虛擬機(jī)最大的不同是容器里不再安裝操作系統(tǒng),容器的本質(zhì)是一種操作系統(tǒng)級(jí)別的虛擬化,啟動(dòng)一個(gè)應(yīng)用容器其實(shí)就是啟動(dòng)一個(gè)進(jìn)程,節(jié)省了大量操作系統(tǒng)所占資源,同樣一臺(tái)計(jì)算機(jī)就可以服務(wù)于更多租戶。容器技術(shù)對(duì)操作系統(tǒng)的資源進(jìn)行再次抽象,而并非對(duì)整個(gè)物理機(jī)資源進(jìn)行虛擬化。容器和虛擬機(jī)一起使用為部署和管理應(yīng)用程序提供了極大的靈活性。
Docker容器無(wú)處不在Linux,Windows,數(shù)據(jù)中心,云服務(wù)器等。