自從Linux上的容器變得流行以來,了解Linux容器和虛擬機之間的區別變得更加棘手。
Linux容器vs虛擬機 – 應用程序與操作系統
首先要了解的有關容器和虛擬機的一個事情是,一個運用于應用程序,另一個是為操作系統設計的。這就是為什么您經常會看到一些企業應用程序運行在容器上而不是自己的虛擬機上。在虛擬機上使用容器有一些優點。
容器最大的優點之一是可以預留比虛擬機少的資源。請記住,容器本質上是單個應用程序,而虛擬機需要更多資源來運行整個操作系統。
如果您需要運行MySQL,NGINX或其他服務,使用容器是非常有必要。但是,如果您需要在自己的服務器上運行完整的LAMP堆棧,則運行虛擬機更好。虛擬機有著更好的靈活性,可以供您選擇您的操作系統,并在您認為合適的情況下進行升級。相比之下,運行已配置應用程序容器在主機的操作系統升級方面是隔離的。
Linux容器vs虛擬機 – 用例場景
我最喜歡使用容器的原因之一就是使用Linux庫版本。例如,假設您需要Python的特定版本來開發應用程序。然后,當你在運行應用程序的盒子上更新時,突然發現Python版本發生了變化,導致應用程序無法正常工作。
使用容器的另一個好處是你可以把一個應用程序放到一個容器中,然后在任何支持你正在運行的容器類型的操作系統上運行它。當你想要一個運行在不同Linux發行版應用程序時。通過使用容器,可以在各種不同的發行版上運行類似的應用程序環境。容器提供了可移植性。
容器對于快速的跨發行版部署是更可行的,而虛擬機對于像運行LAMP堆棧這樣的單一應用程序使用情況是更好的。
Linux容器vs虛擬機 – 安全性
與容器相比,虛擬機提供了更多的安全性。這并不是說容器不能被保護,而是說,默認的虛擬機提供了更大的隔離。請記住,容器可以共享系統資源而虛擬機不行。
在運行容器時,可以采取一些措施來降低風險,包括避免超級用戶權限,確保從可信來源獲取容器,并且保持最新狀態。有些容器是數字簽名的,這有助于確定您可以從可信來源獲取容器。
最后,你需要保持容器的單一功能職責。一旦你開始在一個容器下結合軟件職責,你會發現還是使用虛擬機最好。重申一下,容器是用于單一用途的應用程序,虛擬機用于多用途的應用程序。堅持這種做法,你將在安全性和整體功能方面處于更好的狀況。
Linux容器vs虛擬機 – 選擇合適的工具
無論虛擬機或容器類型如何,選擇適合您需求的關鍵都在于研究每個選項的能力。在容器領域,Docker提供了強大的企業解決方案。這就吸引了那些關注Docker容器的公司,因為公司知道如果出現任何問題,他們可以得到他們所需要的支持。Docker是企業用戶友好的選擇,特別是在Docker Swarms中。而將Docker Swarms 與 Kubernetes 相比,Kubernetes在高級環境中的設置要復雜得多。
回到虛擬機方面,我一直發現Virtualbox可以提供更好的面向桌面的虛擬機環境。而VMware在服務器方面做了各種各樣的產品,VMware擁有從存儲到云服務器解決方案的各種虛擬機解決方案,還有其他選擇(各種管理程序等)。但我認為VirtualBox和VMware很好地代表了桌面到服務器虛擬化的兩個領域。
Linux容器vs虛擬機 – 贏家是?
在決定容器還是虛擬機之前,請考慮以下事項。如果你選擇容器,但你完全可以在虛擬機上運行容器。了解這一點很重要,因為這里沒有明顯的贏家或輸家。事實上,這兩種技術的需求完全不同。
容器將引起媒體的持續關注,因為它們讓用戶用更少的硬件更高效地運行。在另一方面,虛擬機仍然是服務器和云空間的主要內容。
我認為值得一看的是Kubernetes和Docker Swar之間的事情。我認為看看這兩種容器管理技術是如何發揮作用的,以及哪種技術會成為標準。有一段時間,感覺好像是Docker。然而現在,Kubernetes占據了更多的營地??赡茈S著時間的推移,我們將開始看到Kubernetes成為頭條新聞,并成為容器陣營的頭號人物。
你相信容器正在超越虛擬機嗎?也許相反,你認為未來這兩種技術將會結合?無論如何,請點擊評論,讓我們聽聽您的觀點。無論如何,不管你是運行一個復雜的容器,還是運用虛擬機,我都想聽聽你對他們的看法。
-
Linux
+關注
關注
87文章
11123瀏覽量
207921 -
虛擬機
+關注
關注
1文章
888瀏覽量
27815
原文標題:運維大難題:Linux 容器和虛擬機應該怎么選?
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論