Skip to content

Daily Study

更新: 1/7/2026 字数: 0 字 时长: 0 分钟

Daily Plan

#todo

容器知识回顾

容器逃逸

两大常见方式:

  • 配置不当导致的逃逸:特权模式、危险挂载(挂载procfs、挂载docker socket)、docker api未授权、Cgroup配置错误
  • 容器漏洞和内核漏洞:例如dirtyCow漏洞

参照:Docker逃逸手法大全 - Yuy0ung - 博客园docker逃逸方式总结分享-先知社区

一些工具:

MicroVM

问题:

  • 传统 VM(如 KVM+QEMU):安全,但启动太慢(几秒到几分钟),内存开销大,不适合跑几百毫秒的函数。
  • 普通容器(Docker):启动快(毫秒级),但共享内核,不安全(有多租户逃逸风险)

MicroVM:

  • 极简主义:砍掉无关硬件模拟,干掉BIOS/UEFI直接跳转到Linux内核入口开始执行,定制的内核(去掉了大量无用的驱动,例如显卡驱动和USB驱动)
  • 架构:基于KVM(虚拟化内核)的VMM(运行在宿主机上的普通 Linux 进程,在用户态),IO处理请求会发送给VMM进程,VMM进程在通过宿主机的系统调用完成。

优点:

  • 强隔离:通过硬件虚拟化隔离,解决容器逃逸
  • 秒级扩容:例如双十一流量突增,瞬间启动1000个函数实例,启动1000个VM需要几分钟,而MicroVM能够在一台宿主机上每秒启动150+个,实现按需扩容
  • 高密度部署:内存开销低,降低成本。
特性传统虚拟机 (VMware/QEMU)普通容器 (Docker)轻量级虚拟机 (MicroVM/Firecracker)
隔离级别硬件级 (强)进程/操作系统级 (弱)硬件级 (强)
共享内核否 (独立内核)是 (共享宿主机内核)否 (独立内核)
启动速度慢 (分钟/秒级)极快 (毫秒级)快 (毫秒级,<125ms)
内存开销高 (百MB起)低 (进程级)极低 (<5MB)
攻击面大 (几百个系统调用)极小 (几十个系统调用)
适用场景长期运行的重型应用内部受信微服务多租户 Serverless / 边缘计算

菜就多练

本站访客数 人次 本站总访问量