1.2.1 容器技术
在计算机的世界中,容器拥有一段漫长且传奇的历史。容器与管理程序虚拟化
(%#"" ,+)有所不同,管理程序虚拟化通过中间层将一台或者多台独
立的机器虚拟运行与物理硬件之上,而容器则是直接运行在操作系统内核之上的用户空间
因此,容器虚拟化也被称为“操作系统级虚拟化”,容器技术可以让多个独立的用户空间运
行在同一台宿主机上。
由于“客居”于操作系统,容器只能运行与底层宿主机相同或者相似的操作系统,这看
起来并不是非常灵活。例如:可以在 /1 服务中运行 %)#2,但无法再
/1 服务器上运行 34(。
相对于彻底隔离的管理程序虚拟化,容器被认为是不安全的。而反对这一观点的人则
认为,由于虚拟容器所虚拟的是一个完整的操作系统,这无疑增大了攻击范围,而且还要
考虑管理程序层潜在的暴露风险。
尽管有诸多局限性,容器还是被广泛部署于各种各样的应用场合。在超大规模的多租
户服务部署、轻量级沙盒以及对安全要求不太高的隔离环境中,容器技术非常流行。最常
见的一个例子就是“权限隔离监牢”(%5),它创建一个隔离的目录环境来运行进程。
如果权限隔离监牢正在运行的进程被入侵者攻破,入侵者便会发现自己“身陷囹圄”,因为
权限不足被困在容器所创建的目录中,无法对宿主机进一步破坏。
最新的容器技术引入了 、'6 以及 2 容器(2*-)。使用这些新技
术,容器不在仅仅是一个单纯的运行环境。在自己的权限类内,容器更像是一个完整的宿
主机。对 来说,它得益于现代 2 特性,如控件组(#)、命名空间
(#)技术,容器和宿主机之间的隔离更加彻底,容器有独立的网络和存储栈,
还拥有自己的资源管理能力,使得同一台宿主机中的多个容器可以友好的共存。
容器被认为是精益技术,因为容器需要的开销有限。和传统虚拟化以及半虚拟化相比,
容器不需要模拟层( )和管理层(%#"),而是使用操作系统的
系统调用接口。这降低了运行单个容器所需的开销,也使得宿主机中可以运行更多的容器。
尽管有着光辉的历史,容器仍未得到广泛的认可。一个很重要的原因就是容器技术的
复杂性:容器本身就比较复杂,不易安装,管理和自动化也很困难。而 就是为了改
变这一切而生的。
1.2.2 容器与虚拟机比较
()本质上的区别
评论0
最新资源