一、完全虚拟化,虚拟机模拟完整的底层硬件环境和特权指令的执行过程,客户操作系统无须进行修改。
二、硬件辅助虚拟化。利用硬件辅助支持(目前x86体系结构上可用的硬件辅助虚拟化技术包括Inter-VT和AMD-V)处理敏感指令来实现完全虚拟化的功能,客户操作系统无须修改,例如 VMware Workstation, Xen, XVM;
三、部分虚拟化。只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。现在有些虚拟化技术的早期版本仅支持部分虚拟化;
四、超虚拟化。部分硬件接口以软件的形式提供给客户机操作系统,客户操作系统需要进行修改,例如早期的Xen;
五、操作系统级虚拟化。内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程。容器相关技术即在这个范畴。可见Docker以及其他容器技术都属于这个范畴,操作系统虚拟化最大的特点就是不需要额外的supervisor支持。Docker虚拟化方式之所以有众多优势,跟操作系统虚拟化自身的设计和实现是分不开的。
Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。