硬件型號(hào):戴爾Latitude5320
系統(tǒng)版本:Windows10
1、啟動(dòng)速度不同
docker 啟動(dòng)快速屬于秒級(jí)別。虛擬機(jī)通常需要幾分鐘去啟動(dòng)。
2、性能損耗不同
docker 需要的資源更少,docker 在操作系統(tǒng)級(jí)別進(jìn)行虛擬化,docker 容器和內(nèi)核交互,幾乎沒有性能損耗,性能優(yōu)于通過 Hypervisor 層與內(nèi)核層的虛擬化。
3、系統(tǒng)利用率不同
docker 更輕量,docker 的架構(gòu)可以共用一個(gè)內(nèi)核與共享應(yīng)用程序庫,所占內(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)行無限制的操作。虛擬機(jī)租戶 root 權(quán)限和宿主機(jī)的 root 虛擬機(jī)權(quán)限是分離的,并且虛擬機(jī)利用如 Intel 的 VT-d 和 VT-x 的 ring-1 硬件隔離技術(shù),這種隔離技術(shù)可以防止虛擬機(jī)突破和彼此交互,而容器至今還沒有任何形式的硬件隔離,這使得容器容易受到攻擊。
6、可管理性不同
docker 的集中化管理工具還不算成熟。各種虛擬化技術(shù)都有成熟的管理工具,例如 VMware vCenter 提供完備的虛擬機(jī)管理能力。
7、可用和可恢復(fù)性不同
docker 對(duì)業(yè)務(wù)的高可用支持是通過快速重新部署實(shí)現(xiàn)的。虛擬化具備負(fù)載均衡,高可用,容錯(cuò),遷移和數(shù)據(jù)保護(hù)等經(jīng)過生產(chǎn)實(shí)踐檢驗(yàn)的成熟保障機(jī)制,VMware 可承諾虛擬機(jī) 99.999% 高可用,保證業(yè)務(wù)連續(xù)性。
8、創(chuàng)建、刪除速度不同
虛擬化創(chuàng)建是分鐘級(jí)別的,Docker 容器創(chuàng)建是秒級(jí)別的,Docker 的快速迭代性,決定了無論是開發(fā)、測試、部署都可以節(jié)約大量時(shí)間。
9、交付、部署速度不同
虛擬機(jī)可以通過鏡像實(shí)現(xiàn)環(huán)境交付的一致性,但鏡像分發(fā)無法體系化;Docker 在 Dockerfile 中記錄了容器構(gòu)建過程,可在集群中實(shí)現(xiàn)快速分發(fā)和快速部署;
(圖片來源于互聯(lián)網(wǎng))
虛擬機(jī):
我們傳統(tǒng)的虛擬機(jī)需要模擬整臺(tái)機(jī)器包括硬件,每臺(tái)虛擬機(jī)都需要有自己的操作系統(tǒng),虛擬機(jī)一旦被開啟,預(yù)分配給他的資源將全部被占用,每一個(gè)虛擬機(jī)包括應(yīng)用,必要的二進(jìn)制和庫,以及一個(gè)完整的用戶操作系統(tǒng)。
Docker:
容器技術(shù)是和我們的宿主機(jī)共享硬件資源及操作系統(tǒng)可以實(shí)現(xiàn)資源的動(dòng)態(tài)分配。
容器包含應(yīng)用和其所有的依賴包,但是與其他容器共享內(nèi)核。容器在宿主機(jī)操作系統(tǒng)中,在用戶空間以分離的進(jìn)程運(yùn)行。