文章目录
背景
以互联网应用举例:大部分应用是运行在服务器之上的。曾经,每个服务器只能运行单一应用。Windows和Linux操作系统都没有相应的技术手段来保证在一台服务器上稳定而安全地同时运行多个应用。
在那个时代,经常会出现这样一幕:每次业务部门想要增加一个新的应用时,IT部门就需要去采购一个新的服务器。大部分情况下,没有人知道新增应用所需的服务器性能究竟是怎样的,这意味着IT部门需要凭借经验去猜测所购买的服务器型号和规格。
当虚拟机(VM)的出现,使人们终于拥有了一种允许多应用能够稳定、安全地同时运行在一个服务器中的技术。但是虚拟机技术也面临着一些其他挑战。比如虚拟机启动通常比较慢,并且可移植性比较差——虚拟机在不同的虚拟机管理器(Hypervisor)或者云平台之间的迁移要远比想象中困难。
但是,像谷歌(Google)这样的大规模Web服务(Big Web-Scale)玩家一直采用容器(Container)技术解决虚拟机模型的缺点。
容器模型其实跟虚拟机模型相似,其主要的区别在于,