0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

容器的优势是什么?和虚拟机有什么不一样?

电子工程师 来源:网络整理 作者:工程师飞燕 2018-07-01 10:05 次阅读

容器被誉为是将应用程序部署到服务器上的非常有效的手段。容器(例如基于Docker开源标准的容器)比虚拟机消耗更少的资源,并且容器的设计更容易,且实例化和提供更快。

然而,与虚拟机不同,容器并不是100%与底层主机操作系统(通常是Linux或Window Server)或服务器上的驱动程序或其他应用程序隔离的。

虚拟机是一个完整的虚拟化服务器,通过被称为虚拟机管理程序的软件分配磁盘空间、处理器周期和I/O资源。在虚拟机中可以找到真实服务器上的所有内容:操作系统、设备驱动程序、应用程序、配置文件和网络连接。

换句话说,从底层起,是裸机、服务器的主机操作系统、管理程序,然后是一个或多个虚拟机,每个虚拟机都有自己的操作系统、驱动程序和应用程序。

相比之下,容器中的所有内容都共享底层主机操作系统、设备驱动程序和一些配置文件。例如Docker,它提供一个或多个容器,而不是管理程序。每个容器只保存应用程序。这些应用程序依赖于主机操作系统和驱动程序,它也与在同一台服务器上运行的其他容器共享。

容器的好处是:开销更小

如果在Linux服务器上有20台Linux虚拟机,则需要使用内存和CPU资源运行21个Linux实例,其中20个是虚拟机,另一个运行主机。启动所有这些Linux实例需要一定的时间,并且开销很大。

另一方面,所有这些Linux虚拟机都是相互隔离的,事实上,它们甚至可能是不同版本的Linux.在VM模型中,这完全没问题。

相反,如果在Linux服务器上有20个容器,则只需要一个Linux副本运行。启动一个容器非常快,并且消耗的资源要少得多,只有一个Linux内核和一组共享库。

但是,一个容器中的出现安全问题可能会泄漏并影响其他容器或其应用程序。

虚拟机的好处:更强的隔离

现代微处理器、主机操作系统(Linux和Windows)以及虚拟机管理程序(VMware ESX,Citrix XenServer和Microsoft Hyper-V)中的技术可在每个虚拟机之间提供基于硬件的隔离。这种保护是同心环:每个环都受到较高编号的环的保护,其中0环位于中心,与应用隔离。

在虚拟机系统中,主机操作系统的内核在0环中运行,这意味着什么都无法达到。管理程序在环1中运行。而单个虚拟机在环2中运行,因此无法访问环1内的管理程序或操作系统。

更重要的是,管理程序可以使用它的环1权限来执行规则,防止一个VM访问另一个VM的内存、应用程序或资源。

由于Docker Daemon不是环1管理程序,而是简单的环2应用程序,所以在容器中事物并不是同样安全的。因此,硬件中没有任何东西可以完全阻止一个容器对底层服务器进行更改,或者访问其他容器的内存、存储或设置。虽然有软件保护,但它们并非难以穿透。

如何保护容器

基于容器的服务器的安全性应视为适合“friends and family”:我们应该了解并信任在该服务器上运行的所有应用程序。

但是我们不需要知道或信任在服务器上运行的其他虚拟机上的应用程序,这就是为什么云托管公司使用虚拟机而不是容器来隔离客户的软件和数据的原因。

保护容器不易受到伤害,可以归结为以下几种常见方法。首先,最小化容器化软件的攻击面,以便在受到攻击时,将数据泄漏的危险性降到最小。

另一个是严格控制对容器的访问,并且如果有必要,需要在自己的服务器上隔离特别敏感的容器。

一定要研究使用的容器系统以及底层主机操作系统。例如,那些在Red Hat Linux上运行的容器应该查看公司的“十层容器安全”文档。其他必读内容是Docker的“容器安全入门”和Microsoft的“在Azure容器服务中确保Docker容器安全”。

容器是将应用程序部署到云中的最快、最有效的方式,并且比虚拟机的资源效率更高。目前的问题是容器不像虚拟机那样安全。但只要在使用容器的时候考虑到这一点,你将能够得到更好的体验。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 容器
    +关注

    关注

    0

    文章

    499

    浏览量

    22153
  • 虚拟机
    +关注

    关注

    1

    文章

    950

    浏览量

    28534
收藏 人收藏

    相关推荐

    请问pad和pin什么不一样

    pad 和 pin 什么不一样
    发表于 06-25 06:08

    2003和245什么不一样的地方

    2003和245什么不一样的地方啊啊 啊???
    发表于 10-11 23:11

    线损校准,为啥不一样

    线损校准,为啥不一样,今天测试时发现,校准是,信号源频率不一样,线损差别很大,1dB 多!!!
    发表于 06-05 13:58

    程序编辑器结果不一样

    个程序段int i=1;int j=0;j=((i++)*(i++));printf(“%d,%d\n”,i,j);在不同的编辑器结果为什么不一样 我用虚拟机的VI编辑结果i=3;j=1;用C++编辑结果i=3;j=2;到底结
    发表于 03-13 02:22

    为什么开发板进入系统与uoot下的ip不一样

    不一样。。。什么意思?(2)其次我的电脑和虚拟器可以相互ping通。我的连接方式是电脑(wlan)和开发板(lan)的都是通过网线连接路由器上。开发板在uboot下可以ping通电脑和虚拟机 但是电脑和
    发表于 10-14 05:45

    虚拟机容器,你应该怎么选?

    首先要了解的有关容器虚拟机个事情是,个运用于应用程序,另个是为操作系统设计的。这就是为什么您经常会看到
    的头像 发表于 07-11 10:17 4602次阅读

    在车辆自燃方面,电动汽车和燃油汽车什么不一样

    说起车辆的自燃问题,无论是纯电动汽车还是燃油车,都会有自燃的事件出现,对于同样是自燃,电动汽车和燃油车汽车哪些不一样
    发表于 10-28 09:00 1218次阅读

    NFC与RFID什么不一样?资料下载

    电子发烧友网为你提供NFC与RFID什么不一样?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-22 08:53 11次下载
    NFC与RFID<b class='flag-5'>有</b>什么<b class='flag-5'>不一样</b>?资料下载

    气密性测试与气压测试什么不一样的呢?

    气密性测试与气压测试什么不一样的呢?
    发表于 12-27 15:38 4639次阅读

    C++中不一样的重载是什么

    这里想分享C++中不一样的重载,即const重载。
    的头像 发表于 02-21 14:02 827次阅读
    C++中<b class='flag-5'>不一样</b>的重载是什么

    电容容量一样大小不一样能用吗

    有时候家里面电器中的电容损坏,很多人很难找到一模一样的来更换,能找到容量致的电容器就不容易了,电容容量一样大小不一样能用吗?
    的头像 发表于 09-21 09:54 2741次阅读

    电容容量一样大小不一样能用吗?

    电容容量一样大小不一样能用吗? 电容器(Capacitor)是种用来存储电荷能量的电子元件。它是由两个导体板(般是金属)和两个绝缘介质(
    的头像 发表于 09-22 16:30 7600次阅读

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

    不同芯片的DMA(Direct Memory Access)是不一样
    的头像 发表于 10-16 09:14 1688次阅读

    RC和RL电路脉冲波不一样

    RC和RL电路脉冲波不一样? RC和RL电路是两种常见的电路类型,它们在脉冲波处理方面具有不同的特点和应用。本文将详细介绍RC和RL电路的基本原理、特性和应用,并探讨它们与脉冲波的关系。 首先
    的头像 发表于 11-21 15:22 1930次阅读

    虚拟机的ip地址和主机一样

    虚拟机的ip地址和主机一样吗  虚拟机的IP地址和主机的IP地址通常不相同。虚拟机是在主机上通过虚拟化技术创建的
    的头像 发表于 03-26 15:34 5752次阅读