Docker和虛擬機器有什麼區別?

2021-10-05 19:54:08 字數 1204 閱讀 3502

docker和虛擬機器有什麼區別?

1、虛擬機器:我們傳統的虛擬機器需要模擬整台機器包括硬體,每台虛擬機器都需要有自己的作業系統,虛擬機器一旦被開啟,預分配

給他的資源將全部被占用。每乙個虛擬機器包括應用,必要的二進位制和庫,以及乙個完整的使用者作業系統。

2、docker:容器技術是和我們的宿主機共享硬體資源及作業系統可以實現資源的動態分配。

容器包含應用和其所有的依賴包,但是與其他容器共享核心。容器在宿主機作業系統中,在使用者空間以分離的程序執行。

3、對比:

docker啟動快速屬於秒級別。虛擬機器通常需要幾分鐘去啟動。

docker需要的資源更少,docker在作業系統級別進行虛擬化,docker容器和核心互動,幾乎沒有效能損耗,效能優於通過

hypervisor層與核心層的虛擬化。

docker更輕量,docker的架構可以共用乙個核心與共享應用程式庫,所佔記憶體極小。同樣的硬體環境,docker執行的鏡

像數遠多於虛擬機器數量。對系統的利用率非常高

與虛擬機器相比,docker隔離性更弱,docker屬於程序之間的隔離,虛擬機器可實現系統級別隔離;

安全性: docker的安全性也更弱。docker的租戶root和宿主機root等同,一旦容器內的使用者從普通使用者許可權提公升為root

許可權,它就直接具備了宿主機的root許可權,進而可進行無限制的操作。虛擬機器租戶root許可權和宿主機的root虛擬機器許可權是分離的,並且

虛擬機器利用如intel的vt-d和vt-x的ring-1硬體隔離技術,這種隔離技術可以防止虛擬機器突破和彼此互動,而容器至今還沒有任何形式

的硬體隔離,這使得容器容易受到攻擊。

可管理性:docker的集中化管理工具還不算成熟。各種虛擬化技術都有成熟的管理工具,例如vmware vcenter提供完備

的虛擬機器管理能力。

高可用和可恢復性:docker對業務的高可用支援是通過快速重新部署實現的。虛擬化具備負載均衡,高可用,容錯,遷移

和資料保護等經過生產實踐檢驗的成熟保障機制,vmware可承諾虛擬機器99.999%高可用,保證業務連續性。

快速建立、刪除:虛擬化建立是分鐘級別的,docker容器建立是秒級別的,docker的快速迭代性,決定了無論是開發、測

試、部署都可以節約大量時間。

交付、部署:虛擬機器可以通過映象實現環境交付的一致性,但映象分發?法體系化;docker在dockerfile中記錄了容器構

建過程,可在集群中實現快速分發和快速部署;

虛擬機器和容器(Docker)有什麼區別

refer docker容器與虛擬機器有什麼區別?大概兩年前 當自己屁都不會的時候 就遇到了docker的概念,兩年過去了 別的東西多多少少都理解一些了 但是docker究竟是什麼還是不明白。加上又想到了當時安裝那些docker什麼的時候 即不知道這是幹啥的 而且還一直安裝不成功 總是有問題 經常花...

雲計算和虛擬機器(VMWare)有什麼區別

雲計算是一種服務模式,這種模式並不是計算機行業所特有,也不是現代所特有,而是一種已經存在很久的服務模式。其思路就是把各種資源整合起來,然後租給有需要的使用者。拿圖書館做比較,大家都很熟悉了,圖書館收集了很多書,如果你想看書,只需要到圖書館根據自己的需求去借就好了,圖書館會根據你借的數量以及時間收費,...

Docker與虛擬機器區別

1 虛擬機器vm vmware 通過hypervisor對硬體資源進行虛擬化,是在宿主機 宿主機系統的基礎上建立虛擬層 虛擬化的作業系統 虛擬化的倉庫,進行操作程式 docker直接使用硬體資源,在宿主機器 宿主機器作業系統上建立docker引擎,在引擎的基礎上操作操作程式,利用率上來看docker...