乐于分享
好东西不私藏

【AI自学笔记】第3篇:虚拟机 vs Docker,到底怎么选?——一张表讲清楚

【AI自学笔记】第3篇:虚拟机 vs Docker,到底怎么选?——一张表讲清楚

搞懂虚拟机和Docker的区别、各自什么场景用、以及它俩在整个技术栈里的位置。

适合:刚搞懂Docker,又被「虚拟机」这个词搞懵的工程人。

上一篇《Docker三兄弟》聊了镜像、容器、仓库的核心概念。但还有一个东西叫「虚拟机」,老是跟 Docker 一起出现。这篇文章把它俩放在一起对比。

先搞清楚:虚拟机到底是什么?

Docker 前面讲过——把软件打包成标准集装箱,到处都能跑。

但 Docker 出现之前,IT 行业用的「虚拟化」技术叫虚拟机(Virtual Machine,简称 VM)。

原理不复杂:一台物理服务器上,通过一个叫 Hypervisor(虚拟机监视器)的软件,把 CPU、内存、硬盘等硬件资源「切」成多份,每份分给一个虚拟机。每个虚拟机都以为自己独占了一整台电脑,有自己的操作系统。

用暖通打个比方:

一栋三层办公楼,装了一台大型离心式冷水机组。物业在每层装一个分水器 + 独立计量电表,把冷量分给三家租户。每家租户打开自己办公室的空调面板,能独立调温度、开关机——感觉自己独占了一套空调系统。但实际上,冷源都是楼下那一台大机组。

虚拟机就是这个逻辑:一台物理服务器(大冷机),通过 Hypervisor(分水器 + 电表)分出多个虚拟机(独立办公室),每个虚拟机有自己的操作系统(独立温控面板),彼此不干扰。

那它跟 Docker 有什么区别?

Docker 也是虚拟化,但思路完全不一样。

虚拟机是在硬件层做隔离——每个 VM 有自己独立的操作系统内核。隔离性强,但代价是每个 VM 都要跑一套完整的操作系统,吃内存、启动慢。

Docker 是在操作系统层做隔离——所有容器共享宿主机的操作系统内核。不需要每个容器跑一套 OS(操作系统),所以极轻量、秒启动。

用暖通对比最直观:

虚拟机(VM)
Docker 容器
类比
一栋楼分多套独立公寓,每套有自己的水电总闸
开放式办公区用隔板分多个工位,共享中央空调和照明
操作系统
每个 VM 有独立 OS 内核
所有容器共享宿主机 OS 内核
启动速度
分钟级(要启动一整个操作系统)
秒级甚至毫秒级
资源占用
GB 级别(每个 VM 几十 G 硬盘起步)
MB 级别(一个容器几百兆就够)
性能损耗
15%–30%(Hypervisor 的「过路费」)
低于 5%
隔离性
强(独立内核)
中(共享内核,隔得不彻底)
一台机器能跑多少
几十台
几百个

❝ 一句话:虚拟机是「整套公寓」,Docker 是「一个工位」。公寓住着舒服、隔音好但贵,工位便宜灵活但隔壁打电话你能听见。

什么时候用 VM,什么时候用 Docker?

搞懂区别之后,实际选型就看场景:

场景
选 VM
选 Docker
需要同时跑 Windows 和 Linux
✓ 每个 VM 有自己的 OS
✗ Docker 只能跑 Linux 程序
开发测试环境,追求快
✗ 启动一分钟等不起
✓ 秒启动,改完代码立刻跑
银行、政务等高安全要求
✓ 独立内核,隔离更彻底
✗ 共享内核有风险
微服务架构(拆成几十个小服务)
✗ 跑几十个 VM 内存爆炸
✓ 几百个容器轻松跑
CI/CD 自动部署(持续集成/持续部署,代码提交后自动测试、自动发布)
✗ 太重
✓ 环境一致,构建快

还有一个混合方案,实际生产中很常见:

物理服务器  ↓ 先虚拟化成几台 VM(强隔离层)每台 VM 里  ↓ 再跑几十个 Docker 容器(应用层)

最上层是隔离性,最下层是灵活性。不是非此即彼的关系。

从上往下看:完整技术栈长这样

学到这里,把云计算、VM、Docker 串起来,整个技术栈从上到下是这样:

应用层:你用的各种软件    ↓容器层:Docker(打包应用 + 依赖,轻量虚拟化)    ↓虚拟层:VM(硬件级虚拟化,强隔离)    ↓物理层:数据中心(机房、服务器、电力、网络、空调)

❝ 暖通人看最后一行最亲切——我们就在物理层的最底层,给上面所有层吹空调。

顺便提一句:你可能听说过 WSL2——Windows 上跑 Linux 的功能。它背后用的就是 Hyper-V 的虚拟化技术,你在 Windows 上装的那个 Ubuntu,其实就是跑在一个轻量级虚拟机里。下一篇我们专门讲清楚 WSL、Ubuntu 和你电脑上这些概念的关系。

回到我自己:现阶段只用 Docker 就够了

结合我自己的情况——学 AI、部署 Hermes、跑点小工具:

不需要 VM。Docker 完全够用。

理由很简单:我不需要同时跑 Windows 和 Linux(WSL 已经是 Linux 环境了),也没有银行级别的安全要求。我要的是轻量、快速、换机器不慌——这正是 Docker 的强项。

但 VM 这个概念必须搞懂。因为以后看技术文章,这两个词基本形影不离。作者默认你知道区别,不会专门解释。

❝ 就像搞暖通的默认你知道离心机和螺杆机的区别。不知道的话,一篇文章看下来全是问号。

总结:一张表 + 一句话

虚拟机(VM)
Docker
是什么
硬件级虚拟化,模拟出一台完整电脑
操作系统级虚拟化,打包应用和依赖
类比
独立公寓,自带水电
开放工位,共享空调
优点
隔离强,能跑不同 OS
轻量、快、一台机器跑几百个
缺点
重、慢、吃资源
隔离不如 VM

❝ 要隔离选 VM,要敏捷选 Docker。不是敌人,是上下级——VM 管硬件隔离,Docker 管应用打包。

关键词:#虚拟机 #VM #Docker #虚拟化 #Hypervisor #暖通跨界 #Hermes

  • ───

    📢 

    关于本号

    一个暖通工程人在AI大时代下的自学记录。

    主业搞暖通,做调研、干设计、找节能、去调试。最近在折腾AI,从零开始啃各种新概念,试验工作提效的新路径!

    这个号分享的是我一路自学的笔记和心得:

    👇 点击关注「全栈暖通Pi」

    如果觉得有用,欢迎分享给也在跨界学IT的工程朋友

    — END —

    • 🤖 AI自学心得(从零开始的实战记录)
    • ⚡ 自控强电自学笔记(暖通人跨专业学习)
    • 📚 外文文章转译(业内精选好文)
    • 🛠 自研提效小工具(也许你能用的上)
    • 📊 每周行业情报(行业情报定期更新)
    • 没什么高深理论,就是一个工科生想跟上时代脚步。顺手记下来,万一你也需要呢。