0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

容器的優(yōu)勢是什么?和虛擬機(jī)有什么不一樣?

電子工程師 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師飛燕 ? 2018-07-01 10:05 ? 次閱讀

容器被譽(yù)為是將應(yīng)用程序部署到服務(wù)器上的非常有效的手段。容器(例如基于Docker開源標(biāo)準(zhǔn)的容器)比虛擬機(jī)消耗更少的資源,并且容器的設(shè)計(jì)更容易,且實(shí)例化和提供更快。

然而,與虛擬機(jī)不同,容器并不是100%與底層主機(jī)操作系統(tǒng)(通常是Linux或Window Server)或服務(wù)器上的驅(qū)動(dòng)程序或其他應(yīng)用程序隔離的。

虛擬機(jī)是一個(gè)完整的虛擬化服務(wù)器,通過被稱為虛擬機(jī)管理程序的軟件分配磁盤空間、處理器周期和I/O資源。在虛擬機(jī)中可以找到真實(shí)服務(wù)器上的所有內(nèi)容:操作系統(tǒng)、設(shè)備驅(qū)動(dòng)程序、應(yīng)用程序、配置文件和網(wǎng)絡(luò)連接。

換句話說,從底層起,是裸機(jī)、服務(wù)器的主機(jī)操作系統(tǒng)、管理程序,然后是一個(gè)或多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)都有自己的操作系統(tǒng)、驅(qū)動(dòng)程序和應(yīng)用程序。

相比之下,容器中的所有內(nèi)容都共享底層主機(jī)操作系統(tǒng)、設(shè)備驅(qū)動(dòng)程序和一些配置文件。例如Docker,它提供一個(gè)或多個(gè)容器,而不是管理程序。每個(gè)容器只保存應(yīng)用程序。這些應(yīng)用程序依賴于主機(jī)操作系統(tǒng)和驅(qū)動(dòng)程序,它也與在同一臺(tái)服務(wù)器上運(yùn)行的其他容器共享。

容器的好處是:開銷更小

如果在Linux服務(wù)器上有20臺(tái)Linux虛擬機(jī),則需要使用內(nèi)存和CPU資源運(yùn)行21個(gè)Linux實(shí)例,其中20個(gè)是虛擬機(jī),另一個(gè)運(yùn)行主機(jī)。啟動(dòng)所有這些Linux實(shí)例需要一定的時(shí)間,并且開銷很大。

另一方面,所有這些Linux虛擬機(jī)都是相互隔離的,事實(shí)上,它們甚至可能是不同版本的Linux.在VM模型中,這完全沒問題。

相反,如果在Linux服務(wù)器上有20個(gè)容器,則只需要一個(gè)Linux副本運(yùn)行。啟動(dòng)一個(gè)容器非???,并且消耗的資源要少得多,只有一個(gè)Linux內(nèi)核和一組共享庫。

但是,一個(gè)容器中的出現(xiàn)安全問題可能會(huì)泄漏并影響其他容器或其應(yīng)用程序。

虛擬機(jī)的好處:更強(qiáng)的隔離

現(xiàn)代微處理器、主機(jī)操作系統(tǒng)(Linux和Windows)以及虛擬機(jī)管理程序(VMware ESX,Citrix XenServer和Microsoft Hyper-V)中的技術(shù)可在每個(gè)虛擬機(jī)之間提供基于硬件的隔離。這種保護(hù)是同心環(huán):每個(gè)環(huán)都受到較高編號(hào)的環(huán)的保護(hù),其中0環(huán)位于中心,與應(yīng)用隔離。

在虛擬機(jī)系統(tǒng)中,主機(jī)操作系統(tǒng)的內(nèi)核在0環(huán)中運(yùn)行,這意味著什么都無法達(dá)到。管理程序在環(huán)1中運(yùn)行。而單個(gè)虛擬機(jī)在環(huán)2中運(yùn)行,因此無法訪問環(huán)1內(nèi)的管理程序或操作系統(tǒng)。

更重要的是,管理程序可以使用它的環(huán)1權(quán)限來執(zhí)行規(guī)則,防止一個(gè)VM訪問另一個(gè)VM的內(nèi)存、應(yīng)用程序或資源。

由于Docker Daemon不是環(huán)1管理程序,而是簡單的環(huán)2應(yīng)用程序,所以在容器中事物并不是同樣安全的。因此,硬件中沒有任何東西可以完全阻止一個(gè)容器對(duì)底層服務(wù)器進(jìn)行更改,或者訪問其他容器的內(nèi)存、存儲(chǔ)或設(shè)置。雖然有軟件保護(hù),但它們并非難以穿透。

如何保護(hù)容器

基于容器的服務(wù)器的安全性應(yīng)視為適合“friends and family”:我們應(yīng)該了解并信任在該服務(wù)器上運(yùn)行的所有應(yīng)用程序。

但是我們不需要知道或信任在服務(wù)器上運(yùn)行的其他虛擬機(jī)上的應(yīng)用程序,這就是為什么云托管公司使用虛擬機(jī)而不是容器來隔離客戶的軟件和數(shù)據(jù)的原因。

保護(hù)容器不易受到傷害,可以歸結(jié)為以下幾種常見方法。首先,最小化容器化軟件的攻擊面,以便在受到攻擊時(shí),將數(shù)據(jù)泄漏的危險(xiǎn)性降到最小。

另一個(gè)是嚴(yán)格控制對(duì)容器的訪問,并且如果有必要,需要在自己的服務(wù)器上隔離特別敏感的容器。

一定要研究使用的容器系統(tǒng)以及底層主機(jī)操作系統(tǒng)。例如,那些在Red Hat Linux上運(yùn)行的容器應(yīng)該查看公司的“十層容器安全”文檔。其他必讀內(nèi)容是Docker的“容器安全入門”和Microsoft的“在Azure容器服務(wù)中確保Docker容器安全”。

容器是將應(yīng)用程序部署到云中的最快、最有效的方式,并且比虛擬機(jī)的資源效率更高。目前的問題是容器不像虛擬機(jī)那樣安全。但只要在使用容器的時(shí)候考慮到這一點(diǎn),你將能夠得到更好的體驗(yàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    22027
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    905

    瀏覽量

    28022
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請問pad和pin什么不一樣?

    pad 和 pin 什么不一樣?
    發(fā)表于 06-25 06:08

    2003和245什么不一樣的地方

    2003和245什么不一樣的地方啊啊 啊???
    發(fā)表于 10-11 23:11

    線損校準(zhǔn),為啥不一樣

    線損校準(zhǔn),為啥不一樣,今天測試時(shí)發(fā)現(xiàn),校準(zhǔn)是,信號(hào)源頻率不一樣,線損差別很大,1dB 多?。?!
    發(fā)表于 06-05 13:58

    程序編輯器結(jié)果不一樣

    個(gè)程序段int i=1;int j=0;j=((i++)*(i++));printf(“%d,%d\n”,i,j);在不同的編輯器結(jié)果為什么不一樣 我用虛擬機(jī)的VI編輯結(jié)果i=3;j=1;用C++編輯結(jié)果i=3;j=2;到底結(jié)
    發(fā)表于 03-13 02:22

    為什么我的淚滴不一樣

    我的淚滴怎么和網(wǎng)上的不一樣??
    發(fā)表于 03-13 15:23

    為什么開發(fā)板進(jìn)入系統(tǒng)與uoot下的ip不一樣?

    不一樣。。。什么意思?(2)其次我的電腦和虛擬器可以相互ping通。我的連接方式是電腦(wlan)和開發(fā)板(lan)的都是通過網(wǎng)線連接路由器上。開發(fā)板在uboot下可以ping通電腦和虛擬機(jī) 但是電腦和
    發(fā)表于 10-14 05:45

    虛擬機(jī)容器,你應(yīng)該怎么選?

    首先要了解的有關(guān)容器虛擬機(jī)個(gè)事情是,個(gè)運(yùn)用于應(yīng)用程序,另個(gè)是為操作系統(tǒng)設(shè)計(jì)的。這就是為什么您經(jīng)常會(huì)看到
    的頭像 發(fā)表于 07-11 10:17 ?4511次閱讀

    在車輛自燃方面,電動(dòng)汽車和燃油汽車什么不一樣

    說起車輛的自燃問題,無論是純電動(dòng)汽車還是燃油車,都會(huì)有自燃的事件出現(xiàn),對(duì)于同樣是自燃,電動(dòng)汽車和燃油車汽車哪些不一樣
    發(fā)表于 10-28 09:00 ?1133次閱讀

    NFC與RFID什么不一樣?資料下載

    電子發(fā)燒友網(wǎng)為你提供NFC與RFID什么不一樣?資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-22 08:53 ?11次下載
    NFC與RFID<b class='flag-5'>有</b>什么<b class='flag-5'>不一樣</b>?資料下載

    氣密性測試與氣壓測試什么不一樣的呢?

    氣密性測試與氣壓測試什么不一樣的呢?
    發(fā)表于 12-27 15:38 ?4419次閱讀

    C++中不一樣的重載是什么

    這里想分享C++中個(gè)不一樣的重載,即const重載。
    的頭像 發(fā)表于 02-21 14:02 ?726次閱讀
    C++中<b class='flag-5'>不一樣</b>的重載是什么

    電容容量一樣大小不一樣能用嗎

    有時(shí)候家里面電器中的電容損壞,很多人很難找到一模一樣的來更換,能找到容量致的電容器就不容易了,電容容量一樣大小不一樣能用嗎?
    的頭像 發(fā)表于 09-21 09:54 ?2304次閱讀

    電容容量一樣大小不一樣能用嗎?

    電容容量一樣大小不一樣能用嗎? 電容器(Capacitor)是種用來存儲(chǔ)電荷能量的電子元件。它是由兩個(gè)導(dǎo)體板(般是金屬)和兩個(gè)絕緣介質(zhì)(
    的頭像 發(fā)表于 09-22 16:30 ?6206次閱讀

    不同芯片的DMA(Direct Memory Access)是不一樣

    不同芯片的DMA(Direct Memory Access)是不一樣
    的頭像 發(fā)表于 10-16 09:14 ?1436次閱讀

    虛擬機(jī)的ip地址和主機(jī)一樣

    虛擬機(jī)的ip地址和主機(jī)一樣嗎? 虛擬機(jī)的IP地址和主機(jī)的IP地址通常不相同。虛擬機(jī)是在主機(jī)上通過虛擬化技術(shù)創(chuàng)建的
    的頭像 發(fā)表于 03-26 15:34 ?4685次閱讀