「12张手绘图」我搞懂了微服务架构(17)

我们从容器开始说起 , 它首先是一个相对独立的运行环境 , 在这一点有点类似于虚拟机 , 但是不像虚拟机那样彻底 。

虚拟机会将虚拟硬件、内核(即操作系统)以及用户空间打包在新虚拟机当中 , 虚拟机能够利用“虚拟机管理程序”运行在物理设备之上 。

虚拟机依赖于 Hypervisor , 其通常被安装在“裸金属”系统硬件之上 , 这导致 Hypervisor 在某些方面被认为是一种操作系统 。

一旦 Hypervisor 安装完成 , 就可以从系统可用计算资源当中分配虚拟机实例了 , 每台虚拟机都能够获得唯一的操作系统和负载(应用程序) 。

简言之 , 虚拟机先需要虚拟一个物理环境 , 然后构建一个完整的操作系统 , 再搭建一层 Runtime , 然后供应用程序运行 。

对于容器环境来说 , 不需要安装主机操作系统 , 直接将容器层(比如 LXC 或 Libcontainer)安装在主机操作系统(通常是 Linux 变种)之上 。

在安装完容器层之后 , 就可以从系统可用计算资源当中分配容器实例了 , 并且企业应用可以被部署在容器当中 。

推荐阅读