容器和虛擬機器

2022-06-07 02:48:08 字數 1029 閱讀 6826

說明:容器和虛擬機器都依賴於宿主機才能執行。宿主機可以是筆記本,是資料中心的物理伺服器,也可以是公有雲的某個例項。

假設宿主機是一台需要執行 4 個業務應用的物理伺服器。

在虛擬機器模型中,首先要開啟物理機並啟動 hypervisor 引導程式。一旦 hypervisor 啟動,就會占有機器上的全部物理資源,如 cpu、ram、儲存和 nic。

hypervisor 接下來就會將這些物理資源劃分為虛擬資源,並且看起來與真實物理資源完全一致。

然後 hypervisor 會將這些資源打包進乙個叫作虛擬機器(vm)的軟體結構當中。這樣使用者就可以使用這些虛擬機器,並在其中安裝作業系統和應用。

前面提到需要在物理機上執行 4 個應用,所以在 hypervisor 之上需要建立 4 個虛擬機器並安裝 4 個作業系統,然後安裝 4 個應用。當操作完成後,結構如下圖所示。

而容器模型則略有不同

伺服器啟動之後,所選擇的作業系統會啟動。在 docker 世界中可以選擇 linux,或者核心支援核心中的容器原語的新版本 windows。

與虛擬機器模型相同,os 也占用了全部硬體資源。在 os 層之上,需要安裝容器引擎(如 docker)。

容器引擎可以獲取系統資源,比如程序樹、檔案系統以及網路棧,接著將資源分割為安全的互相隔離的資源結構,稱之為容器。

每個容器看起來就像乙個真實的作業系統,在其內部可以執行應用。按照前面的假設,需要在物理機上執行 4 個應用。

因此,需要劃分出 4 個容器並在每個容器中執行乙個應用,如下圖所示。

從更高層面上來講,hypervisor 是硬體虛擬化(hardware virtualization)——hypervisor 將硬體物理資源劃分為虛擬資源。

容器是作業系統虛擬化(os virtualization)——容器將系統資源劃分為虛擬資源。

虛擬機器和容器比較

容器相比虛擬機器更輕量 一 虛擬機器 二 容器 一 本質上的區別 vm vmware 在宿主機器 宿主機器作業系統的基礎上建立虛擬層 虛擬化的作業系統 虛擬化的倉庫,然後再安裝應用 container docker容器 在宿主機器 宿主機器作業系統上建立docker引擎,在引擎的基礎上再安裝應用。那...

容器與虛擬機器

是否容器化是個問題,或者說容器vs虛擬機器是永恆的爭論 資源需求 安全架構優缺點 容器的優缺點 在mirantis,我們經常考慮如何將整個傳統的開發域上雲,我們首先考慮的不是如何去移動乙個開發域,而是考慮該開發域該不該上雲。在本文中,我們將討論在特定情況下上雲需要考慮的一些問題。目前將應用遷移到雲上...

虛擬機器和容器的區別

首先放一張圖,對虛擬機器和容器做乙個整體的對比。隨著伺服器的能力和容量的逐漸增加,而乙個機器上只能一次執行一種作業系統。因此虛擬機器應時而生,在物理伺服器的上層執行軟體模擬特定的硬體系統。hypervisor位於硬體和系統之間,是建立虛擬機器必須的乙個部分。每個虛擬機器中都執行著乙個系統。安裝不同系...