docker屬于操作系統(tǒng)級虛擬化;操作系統(tǒng)虛擬化最大的特點就是不需要額外的supervisor支持,內(nèi)核通過創(chuàng)建多個虛擬的操作系統(tǒng)實例來隔離不同的進(jìn)程,容器相關(guān)技術(shù)就在這個范疇。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker-1.13.1版、Dell G3電腦。
docker屬于哪一類虛擬化
虛擬化
虛擬化(virtualization)技術(shù)是一個通用的概念,在不同領(lǐng)域有不同的理解。在計算領(lǐng)域,一般指的是計算虛擬化(computing virtualization),或通常說的服務(wù)器虛擬化。
維基百科上的定義如下:“在計算機(jī)技術(shù)中,虛擬化是一種資源管理技術(shù),是將計算機(jī)的各種實體資源,如服務(wù)器、網(wǎng)絡(luò)、內(nèi)存及存儲等,予以抽象、轉(zhuǎn)換后呈現(xiàn)出來,打破實體結(jié)構(gòu)間的不可切割的障礙,使用戶可以用比原本的組態(tài)更好的方式來應(yīng)用這些資源?!?/p>
可見,虛擬化的核心是對資源的抽象,目標(biāo)往往是為了在同一個主機(jī)上同時運(yùn)行多個系統(tǒng)或應(yīng)用,從而提高系統(tǒng)資源的利用率,并且?guī)斫档统杀?、方便管理和容錯容災(zāi)等好處。
從大類上分,虛擬化技術(shù)可分為基于硬件的虛擬化和基于軟件的虛擬化。
基于軟件的虛擬化從對象所在的層次,又可以分為應(yīng)用虛擬化和平臺虛擬化(通常說的虛擬機(jī)技術(shù)即屬于這個范疇)。前者一般指的是一些模擬設(shè)備或諸如Wine這樣的軟件,后者又可以細(xì)分為幾個子類:
完全虛擬化:虛擬機(jī)模擬完整的底層硬件環(huán)境和特權(quán)指令的執(zhí)行過程,客戶操作系統(tǒng)無須進(jìn)行修改。例如IBM p和z系列的虛擬化、VMware Workstation、VirtualBox、QEMU等;
-
硬件輔助虛擬化:利用硬件(主要是CPU)輔助支持(目前x86體系結(jié)構(gòu)上可用的硬件輔助虛擬化技術(shù)包括Intel-VT和AMD-V)處理敏感指令來實現(xiàn)完全虛擬化的功能,客戶操作系統(tǒng)無須修改,例如VMware Workstation, Xen, KVM;
-
部分虛擬化:只針對部分硬件資源進(jìn)行虛擬化,客戶操作系統(tǒng)需要進(jìn)行修改。現(xiàn)在有些虛擬化技術(shù)的早期版本僅支持部分虛擬化;
-
超虛擬化(paravirtualization):部分硬件接口以軟件的形式提供給客戶機(jī)操作系統(tǒng),客戶操作系統(tǒng)需要進(jìn)行修改,例如早期的Xen;
-
操作系統(tǒng)級虛擬化:內(nèi)核通過創(chuàng)建多個虛擬的操作系統(tǒng)實例(內(nèi)核和庫)來隔離不同的進(jìn)程。容器相關(guān)技術(shù)即在這個范疇。
可見,Docker以及其他容器技術(shù)都屬于操作系統(tǒng)虛擬化這個范疇,操作系統(tǒng)虛擬化最大的特點就是不需要額外的supervisor支持。Docker虛擬化方式之所以有眾多優(yōu)勢,跟操作系統(tǒng)虛擬化技術(shù)自身的設(shè)計和實現(xiàn)是分不開的。
推薦學(xué)習(xí):《docker視頻教程》