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