KVM
使用的是虚拟化技术,依赖物理CPU和内存
需要OS支持KVM虚拟化
KVM更接近传统的虚拟机,利用软件模拟出一整套硬件,再安装一个完整的镜像,相当于重新安装了一台机器,占用更多的资源。
安装后占用比较多的空间,重新安装或重新配置非常麻烦
KVM虚拟机启动时需要走完完整的开机流程(分钟级)
LXC
早期的docker引擎
Docker
容器的核心思想就是:分装、独立
使用容器化技术,构建在OS上,采用libcontainer引擎
docker更接近一个进程,非常的轻量,占用比较少的资源,可以随时销毁并马上重建
占用空间很小,重新安装或重新配置比较简单
docker更倾向于一个应用一个容器,如果需要有数据沟通,则将多个容器使用命令连接,但相对来说也是独立的,重新安装非常简单
比较
| 特性 | 容器 | 虚拟机 |
|---|---|---|
| 启动 | 秒级 | 分钟级 |
| 硬盘使用 | 一般为 MB | 一般为 GB |
| 性能 | 接近原生 | 弱于 |
| 系统支持量 | 单机支持上千个容器 | 一般几十个 |
层级


