容器被誉为是将应用程序部署到服务器上的非常有效的手段。容器(例如基于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容器安全”。
容器是将应用程序部署到云中的最快、最有效的方式,并且比虚拟机的资源效率更高。目前的问题是容器不像虚拟机那样安全。但只要在使用容器的时候考虑到这一点,你将能够得到更好的体验。
充电保护器原理是什么?
科创板交控科技董事王梅介绍、履历信息
工信部:我们应该支持华为建立芯片制造线
三星手机在中国市场遭冷落_三星note9将提前开卖
380V滤波器的作用
容器的优势是什么?和虚拟机有什么不一样?
VR市场目前人气火爆,但想要普及虚拟现实必须要先解决这个生理障碍
怎么测试开关电源的功率?具体流程是什么?
卷积神经网络图像识别_卷积神经网络的优势
海信迎来新挑战,LG电子向海信发起专利战
采用复杂可编程逻辑器件与ISA总线相结合实现数据采集系统设计
创想三维即将发起众筹,产品为3D打印机
ITEC推出RFID嵌体贴片机刷新业内记录
LBB375TA-020位置传感器线性测量
华为荣耀Magic2什么时候上市?华为荣耀Magic2最新消息:荣耀Magic2爆料不断,荣耀Magic无奈首次降价!
福建晋华随机动态处理存储器元件的形成方法专利
LGD聚焦OLED显示屏,OLED完败LCD
一文读懂人工智能发展史:从诞生,到实现产业化
特殊的电阻器调节电阻的使用方法
如何通过双处理器应用延长电池寿命