容器技术:从虚拟化到 Docker 的全面解析
1. 传统应用部署与资源困境
在传统的应用部署中,由于没人清楚新应用的性能要求,为了给未来业务量增长预留足够空间,IT 部门往往会过度采购服务器。他们只能靠猜测来决定要购买的服务器型号和规格。
典型的应用程序软件供应生命周期流程如下:
1. 在数据中心准备好物理服务器。
2. 安装或使用现有的操作系统。
3. 安装应用程序软件所需的任何额外工具。
4. 安装软件的任何依赖项。
5. 运行软件。
6. 停用应用程序。
7. 重新利用或回收服务器硬件。
这种方式存在明显的资源浪费问题,而虚拟化技术的出现为解决这一困境提供了新思路。
2. 虚拟化技术解析
2.1 虚拟化概述
VMware 引入虚拟机(VM)概念后,IT 部门无需每次有新应用就采购新的超大服务器。相反,IT 可以在有空闲容量的现有服务器上运行新应用。虚拟化允许在单个物理服务器上运行多个虚拟机,每个虚拟机包含操作系统、应用程序、必要的二进制文件和库的完整副本。
2.2 虚拟化的核心组件——Hypervisor
虚拟化堆栈中的核心组件是 Hypervisor,也称为虚拟机监视器(VMM)。它在主机计算机上创建一个虚拟平台,多个来宾操作系统在该平台上执行和监控。这些多个操作系统可以是同一操作系统的不同实例,也可以是不同的操作系统,它们共享同一主机提供的硬件资源。
Hypervisor 主要分为以下两类:
|类型|描述|示例|
| ---- | ---- | --