VM和Container 虛擬機器和容器

iamdll發表於2019-03-12

一、What Is A Container
容器映像是一個軟體的輕量級獨立可執行軟體包,包含執行它所需的一切:程式碼,執行時,系統工具,系統庫,設定。不管環境如何,集裝箱化軟體都可以執行相同的Linux和Windows應用程式。容器將軟體與其周圍環境隔離開來,例如開發環境和登臺環境之間的差異,並有助於減少在同一基礎架構上執行不同軟體的團隊之間的衝突。
這裡寫圖片描述

這裡寫圖片描述

二、Docker容器的特點
1.輕量級
在一臺機器上執行的Docker容器共享該機器的作業系統核心; 他們立即開始並使用更少的計算和記憶體。影象由檔案系統層構建並共享公用檔案。這最大限度地減少了磁碟使用量,影象下載速度更快。
2.標準
Docker容器基於開放標準,可在所有主要Linux發行版,Microsoft Windows以及任何基礎架構(包括虛擬機器,裸機和雲中)上執行。
3.安全
Docker容器將應用程式彼此隔離並從底層基礎架構中分離出來。Docker提供了最強大的預設隔離功能,可以將應用程式問題限制在一個容器中,而不是整個機器上。

三、比較容器和虛擬機器
容器和虛擬機器具有相似的資源隔離和分配優勢,但功能不同,因為容器虛擬化作業系統而不是硬體。容器更便攜和高效。
1.首先看一下容器
這裡寫圖片描述
容器是應用程式層的抽象,它將程式碼和依賴關係打包在一起。多個容器可以在同一臺機器上執行,並與其他容器共享作業系統核心,每個容器在使用者空間中作為孤立程式執行。容器佔用的空間少於虛擬機器(容器映像的大小通常為幾十MB),並且幾乎立即啟動。

這裡寫圖片描述
2.虛擬機器
這裡寫圖片描述
虛擬機器(VM)是將一臺伺服器變成多臺伺服器的物理硬體的抽象。管理程式允許多臺虛擬機器在單臺機器上執行。每個VM都包含一個作業系統的完整副本,一個或多個應用程式,必需的二進位制檔案和庫 - 佔用數十GB。VM也可能啟動緩慢。

這裡寫圖片描述

相關文章