1. 程式人生 > 其它 >物理機、虛擬機器、容器的區別是什麼?

物理機、虛擬機器、容器的區別是什麼?

物理機

物理機,對應採購的伺服器裝置,又叫裸裝置,bare metal,隨著摩爾定律的增長,單個伺服器的效能逐漸提升,物理伺服器的效能是如此的高,以致於我們實際使用到的物理機的效能只佔了百分之幾甚至更低,為了靈活的部署系統和應用,需要一層虛擬層

在物理機之上,這就是虛擬機器。

注意:物理機就是普通的主機。膝上型電腦,臺式電腦都可以叫物理機。

虛擬機器

虛擬機器,與現在流行的“雲端計算”的概念的有著緊密聯絡,虛擬機器的概念在IaaS層,即基礎設施即服務部分,可以自行學習一下。為了讓全人類能夠像使用自來水、電一樣使用計算資源,我們需要在幾百上千臺物理機上部署虛擬化軟體,如vmware等等,使得

他們的表現就像一臺巨大的計算機。同時它還具有靈活性和解耦性,你可以在一臺物理機上部署10臺虛擬機器,使得一臺物理機的表現就像10臺效能略差的伺服器,當你不需要他們時,你又可以隨時的回收資源重新分配。

注意:虛擬機器是建在物理機上的。相當於你有了幾個電腦

容器

容器,也是虛擬層的概念,相對虛擬機器而言,容器更加輕量級。虛擬機器中需要模擬一臺物理機的所有資源,比如你要模擬出有多少CPU、網絡卡、顯示卡等等,這些都是在軟體層面通過計算資源實現的,這就給物理機憑空增加了不必要的計算量。容器僅僅在操

作系統層面向上,對應用的所需各類資源進行了隔離。這也是為何微服務、PaaS和Docker最近如此火爆的原因,資源消耗少,遷移部署簡單,成本低。尤其是CNCF提供的一系列工具,更是把容器技術推動到了浪潮之巔。

注意:容器可以建在物理機和虛擬機器上。一個物理機可以建很多個容器。每個容器都是一個小系統。。比虛擬機器消耗更少

other

你去京東或者淘寶上,買CPU、顯示卡啊,硬碟啊,組裝起來,開機裝上Windows也好,Linux也好。

這就是一臺物理機,硬體>你使用的系統。

然後,假設你裝的Windows,你需要一臺Linux來跑你的程式碼也好,學習也好,你需要安裝一個虛擬化工具(如Windows自帶的HV或者vmware),這樣你就能啟動一個Linux起來。

硬體>windows>linux,Linux就是虛擬機器。

然後就到容器,這裡就需要更加深一層的知識。從上面的架構來看,Windows就是hostOS,linux屬於GuestOS,而容器則是取代了本來屬於GuestOS的位置(既上圖中的Linux)。

那麼虛擬化工具就從vmware變成docker。虛擬機器和容器的區別,最重要就是在損耗上面,容器管理一般不建議把一些不必要的功能放進去,所以容器啟動的時候,基本是保持,一個應用啟動一個容器,這樣啟動速度和消耗都會很小。

但是虛擬機器則會把很多服務附帶進去。所以啟動速度和損耗都比較大一點