4·基础入门入门

容器 vs 虚拟机

容器 vs 虚拟机

学习目标

  1. 理解两者架构差异
  2. 知道各自适用场景

架构对比

虚拟机:
┌─────────────────────────────────┐
│          App 1  │    App 2      │
│          Bins  │    Bins        │
│          Guest OS │  Guest OS   │  ← 每个 VM 完整 OS
├─────────────────────────────────┤
│          Hypervisor             │  ← 虚拟化层
├─────────────────────────────────┤
│          Host OS                │
│          Hardware               │
└─────────────────────────────────┘

Docker 容器:
┌─────────────────────────────────┐
│  App 1  │  App 2  │  App 3     │
│  Bins   │  Bins   │  Bins      │
├─────────────────────────────────┤
│         Docker Engine           │  ← 容器运行时
├─────────────────────────────────┤
│         Host OS                 │
│         Hardware                │
└─────────────────────────────────┘

关键区别

方面虚拟机Docker 容器
隔离级别硬件级进程级
启动时间分钟
资源占用GB 级MB 级
性能有损耗接近原生
镜像大小GB 级MB 级
安全性更强较弱(共享内核)

适用场景

虚拟机适合:
- 需要运行不同 OS(Windows 上跑 Linux)
- 强隔离需求(多租户)
- 运行内核模块

Docker 适合:
- 应用打包部署
- 微服务架构
- CI/CD 流水线
- 快速开发环境

小结

选虚拟机选 Docker
需要不同 OS同一 OS 多应用
强隔离快速部署
运行内核模块轻量级环境

练习编辑器

bash
Loading...