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