各種虛擬機(jī)技術(shù)開啟了云計(jì)算時(shí)代;而Docker,作為下一代虛擬化技術(shù),正在改變我們開發(fā)、測試、部署應(yīng)用的方式。物理機(jī)和虛擬機(jī)、docker有何不同呢?
1、物理機(jī)好比是獨(dú)棟別墅,獨(dú)立地基,獨(dú)立院落。
2、虛擬機(jī)相當(dāng)于小區(qū)居民樓的每套房,共享地基,共享的院落。但是有獨(dú)立衛(wèi)生間、客廳、臥室、廚房、寬帶。
3、容器相當(dāng)于膠囊公寓。一套房隔成多個(gè)小隔間,共享地基,共享衛(wèi)生間、廚房和寬帶。
虛擬機(jī)是依賴hypervisor這個(gè)類似于虛擬化環(huán)境的控制管理模塊從主機(jī)系統(tǒng)中獲取資源然后分配給每個(gè)虛擬機(jī)實(shí)例。每個(gè)虛擬機(jī)實(shí)例是有獨(dú)立的操作系統(tǒng)和運(yùn)行環(huán)境。
而容器類似于已經(jīng)有了操作系統(tǒng)和基礎(chǔ)環(huán)境的虛擬機(jī),方便部署、移植,而且主機(jī)資源利用率會比虛擬機(jī)要高。
Docker容器并非虛擬機(jī),我們不妨來比較一下它們:
Docker守護(hù)進(jìn)程可以直接與主操作系統(tǒng)進(jìn)行通信,為各個(gè)Docker容器分配資源;它還可以將容器與主操作系統(tǒng)隔離,并將各個(gè)容器互相隔離。虛擬機(jī)啟動(dòng)需要數(shù)分鐘,而Docker容器可以在數(shù)毫秒內(nèi)啟動(dòng)。由于沒有臃腫的從操作系統(tǒng),Docker可以節(jié)省大量的磁盤空間以及其他系統(tǒng)資源。