虚拟化是云计算技术的核心,Hypervisor通过硬件虚拟化模拟出可以运行操作系统的各种硬件,比如CPU、内存、I/O设备等。然后在这些虚拟的硬件上安装一个新的操作系统GuestOS,这样用户的应用就可以运行在这台虚拟机中,该应用只能看到GuestOS的文件和目录,以及这台虚拟机里的虚拟设备,从而实现了将不同的应用进程相互隔离。因为在虚拟机中必须运行一个完整的GuestOS,才能执行用户的应用进程,所以就不可避免地带来了额外的资源和时间的消耗。
容器被称为轻量级的虚拟化技术,它并没有一个真正的容器层运行在宿主机上,而是帮助应用进程在创建过程中加上各种各样的namespace参数。这时容器进程就会觉得自己是各自PIDnamespace里的第1号进程,只能看到各自mountnamespace里挂载的目录和文件,只能访问各