×

Linux 容器 vs 虛擬機(jī) —— 誰更勝一籌?

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-04-25 13:28:31

要了解的有關(guān)容器和虛擬機(jī)的一個(gè)事情是,一個(gè)運(yùn)用于應(yīng)用程序,另一個(gè)是為操作系統(tǒng)設(shè)計(jì)的。這就是為什么您經(jīng)常會(huì)看到一些企業(yè)應(yīng)用程序運(yùn)行在容器上而不是自己的虛擬機(jī)上。在虛擬機(jī)上使用容器有一些優(yōu)點(diǎn)。   

136486963.jpg
  要了解的有關(guān)容器和虛擬機(jī)的一個(gè)事情是,一個(gè)運(yùn)用于應(yīng)用程序,另一個(gè)是為操作系統(tǒng)設(shè)計(jì)的。這就是為什么您經(jīng)常會(huì)看到一些企業(yè)應(yīng)用程序運(yùn)行在容器上而不是自己的虛擬機(jī)上。在虛擬機(jī)上使用容器有一些優(yōu)點(diǎn)。
  容器較大的優(yōu)點(diǎn)之一是可以預(yù)留比虛擬機(jī)少的資源。請(qǐng)記住,容器本質(zhì)上是單個(gè)應(yīng)用程序,而虛擬機(jī)需要更多資源來運(yùn)行整個(gè)操作系統(tǒng)。
  如果您需要運(yùn)行 MySQL,NGINX 或其他服務(wù),使用容器是非常有必要。但是,如果您需要在自己的服務(wù)器上運(yùn)行完整的 LAMP 堆棧,則運(yùn)行虛擬機(jī)更好。虛擬機(jī)有著更好的靈活性,可以供您選擇您的操作系統(tǒng),并在您認(rèn)為合適的情況下進(jìn)行升級(jí)。相比之下,運(yùn)行已配置應(yīng)用程序容器在主機(jī)的操作系統(tǒng)升級(jí)方面是隔離的。
  用例場(chǎng)景
  我最喜歡使用容器的原因之一就是使用 Linux 庫版本。例如,假設(shè)您需要 Python 的特定版本來開發(fā)應(yīng)用程序。然后,當(dāng)你在運(yùn)行應(yīng)用程序的盒子上更新時(shí),突然發(fā)現(xiàn) Python 版本發(fā)生了變化,導(dǎo)致應(yīng)用程序無法正常工作。
  使用容器的另一個(gè)好處是你可以把一個(gè)應(yīng)用程序放到一個(gè)容器中,然后在任何支持你正在運(yùn)行的容器類型的操作系統(tǒng)上運(yùn)行它。當(dāng)你想要一個(gè)運(yùn)行在不同 Linux 發(fā)行版應(yīng)用程序時(shí)。通過使用容器,可以在各種不同的發(fā)行版上運(yùn)行類似的應(yīng)用程序環(huán)境。容器提供了可移植性。
  容器對(duì)于快速的跨發(fā)行版部署是更可行的,而虛擬機(jī)對(duì)于像運(yùn)行 LAMP 堆棧這樣的單一應(yīng)用程序使用情況是更好的。
  安全性
  與容器相比,虛擬機(jī)提供了更多的安全性。這并不是說容器不能被保護(hù),而是說,默認(rèn)的虛擬機(jī)提供了更大的隔離。請(qǐng)記住,容器可以共享系統(tǒng)資源而虛擬機(jī)不行。
  在運(yùn)行容器時(shí),可以采取一些措施來降低風(fēng)險(xiǎn),包括避免超級(jí)用戶權(quán)限,確保從可信來源獲取容器,并且保持狀態(tài)。有些容器是數(shù)字簽名的,這有助于確定您可以從可信來源獲取容器。
  最后,你需要保持容器的單一功能職責(zé)。一旦你開始在一個(gè)容器下結(jié)合軟件職責(zé),你會(huì)發(fā)現(xiàn)還是使用虛擬機(jī)較好。重申一下,容器是用于單一用途的應(yīng)用程序,虛擬機(jī)用于多用途的應(yīng)用程序。堅(jiān)持這種做法,你將在安全性和整體功能方面處于更好的狀況。
  選擇合適的工具
  無論虛擬機(jī)或容器類型如何,選擇適合您需求的關(guān)鍵都在于研究每個(gè)選項(xiàng)的能力。在容器領(lǐng)域,Docker 提供了強(qiáng)大的企業(yè)解決方案。這就吸引了那些關(guān)注 Docker 容器的公司,因?yàn)楣局廊绻霈F(xiàn)任何問題,他們可以得到他們所需要的支持。Docker 是企業(yè)用戶友好的選擇,特別是在 Docker Swarms 中。而將 Docker Swarms 與 Kubernetes 相比,Kubernetes 在高級(jí)環(huán)境中的設(shè)置要復(fù)雜得多。
  回到虛擬機(jī)方面,我一直發(fā)現(xiàn) Virtualbox 可以提供更好的面向桌面的虛擬機(jī)環(huán)境。而 VMware 在服務(wù)器方面做了各種各樣的產(chǎn)品,VMware 擁有從存儲(chǔ)到云服務(wù)器解決方案的各種虛擬機(jī)解決方案,還有其他選擇(各種管理程序等)。但我認(rèn)為 VirtualBox 和 VMware 很好地代表了桌面到服務(wù)器虛擬化的兩個(gè)領(lǐng)域。
  贏家是?
  在決定容器還是虛擬機(jī)之前,請(qǐng)考慮以下事項(xiàng)。如果你選擇容器,但你完全可以在虛擬機(jī)上運(yùn)行容器。了解這一點(diǎn)很重要,因?yàn)檫@里沒有明顯的贏家或輸家。事實(shí)上,這兩種技術(shù)的需求完全不同。
  容器將引起媒體的持續(xù)關(guān)注,因?yàn)樗鼈冏層脩粲酶俚挠布咝У剡\(yùn)行。在另一方面,虛擬機(jī)仍然是服務(wù)器和云空間的主要內(nèi)容。
  小編認(rèn)為值得一看的是 Kubernetes 和 Docker Swar 之間的事情。我認(rèn)為看看這兩種容器管理技術(shù)是如何發(fā)揮作用的,以及哪種技術(shù)會(huì)成為標(biāo)準(zhǔn)??赡茈S著時(shí)間的推移,我們將開始看到 Kubernetes 成為頭條新聞,并成為容器陣營(yíng)的頭號(hào)人物。
 
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading