docker和kvm、xen虛擬化的區別:1、docker比kvm更省資源,可以提供非常接近宿主機的性能,而kvm資源隔離比docker更高,kvm支持的操作系統類型更多;2、docker是容器化,啟動可以在秒級實現,比kvm、xen虛擬化快得多。
本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker和kvm、xen虛擬化的區別是什么
概括總結型:
docker比kvm更省資源,可以提供非常接近宿主機的性能,而kvm資源隔離比docker更高,kvm支持的操作系統類型更多
在應用方面docker (經得起折騰,部署速度快),在系統方面kvm( 宿主隔離,也支持快照)
分開闡述型:
docker是容器化,啟動可以在秒級實現,比傳統的虛擬機快得多,Docker 對系統資源的利用率很高,一臺主機上可以同時運行數千個 Docker 容器
優勢:
高效的利用系統資源
快速的啟動時間
一致的運行環境
持續交付和部署
更輕松的維護和擴展
KVM是一個開源的系統虛擬化模塊,使用的是liunx自身的調度器管理,用kvm把多臺物理機虛擬化后,組成一個大的虛擬化資源池,方便用戶從資源池中按分配計算能力,提升資源的使用效率,保證多用戶資源之間的隔離性,安全性
知識擴展
作為一種新興的虛擬化方式,Docker 跟傳統的虛擬化方式相比具有眾多的優勢。
1.? ? ?Docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機方式要快得多。 其次,Docker 對系統資源的利用率很高,一臺主機上可以同時運行數千個 Docker 容器。
2.? ? ?容器除了運行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統的開銷盡量小。傳統虛擬機方式運行 10 個不同的應用就要起 10 個虛擬機,而Docker 只需要啟動 10 個隔離的應用即可。
3.? ? ?虛擬化技術依賴物理CPU和內存,是硬件級別的;而docker構建在操作系統上,利用操作系統的containerization技術,所以docker甚至可以在虛擬機上運行。
4.? ? ?虛擬化系統一般都是指操作系統鏡像,比較復雜,稱為“系統”;而docker開源而且輕量,稱為“容器”,單個容器適合部署少量應用,比如部署一個redis、一個memcached。
5.? ? ?傳統的虛擬化技術使用快照來保存狀態;而docker在保存狀態上不僅更為輕便和低成本,而且引入了類似源代碼管理機制,將容器的快照歷史版本一一記錄,切換成本很低。
6.? ? ?傳統的虛擬化技術在構建系統的時候較為復雜,需要大量的人力;而docker可以通過Dockfile來構建整個容器,重啟和構建速度很快。更重要的是Dockfile可以手動編寫,這樣應用程序開發人員可以通過發布Dockfile來指導系統環境和依賴,這樣對于持續交付十分有利。
7.? ? ? 當然KVM對比于容器也有一個比較大的優勢就是可以使用不同的操作系統或內核。所以,舉例說,你可以使用微軟Azure,同時運行Windows Server2012的實例和SUSE Linux企業級服務器的實例。至于Docker,所有容器都必須使用同樣的操作系統和內核。
推薦學習:《docker視頻教程》