虛擬機(VM)就是用來模擬計算機系統(tǒng)的軟件,讓使用者可以在一臺計算機上運行看似多臺計算機的設(shè)備。在一些需要不同類型的硬件或操作系統(tǒng)上運行軟件的需求,虛擬機是一個好幫手,這樣就無需使用其他的硬件了。自從虛擬化技術(shù)和 云計算 服務(wù)出現(xiàn)以來,大大小小的IT公司都將虛擬機作為降低成本和提高效率的一種方式。但是,虛擬機會占用大量系統(tǒng)資源。每個虛擬機不僅要運行一個完整的操作系統(tǒng),還需要運行操作系統(tǒng)要運行的所有虛擬硬件。這樣就會消耗大量的內(nèi)存和CPU資源。與運行單獨的物理計算機相比,這樣是比較經(jīng)濟的;但對于某些應(yīng)用程序而言卻是很浪費的。這種情況下,就促進了容器的發(fā)展。
容器(Container)是一種更輕量級,更靈活的虛擬化處理方式,它將一個應(yīng)用程序所需的一切打包在一起。容器包括所有代碼,各種依賴甚至操作系統(tǒng),這讓應(yīng)用程序幾乎在任何地方都可以運行。因此它的誕生,解決了一個重要問題:如何確保應(yīng)用程序從一個環(huán)境移動到另一個環(huán)境的正確運行。它只是虛擬了操作系統(tǒng),而不像虛擬機一樣去虛擬底層計算機。