Appearance
container/ —— 容器的实现原理
容器 = 一个受隔离(namespace)、受限额(cgroup)、看着裁剪过文件系统(overlayfs)的普通进程,和宿主共享同一个内核——不是虚拟机。本簇从原理讲透"容器怎么实现、和虚拟机差在哪、有没有性能损耗"三个问题。
内核底座(namespace 8 种 + cgroup 限额)已在 ../process/task-resources/namespaces-cgroups.md 详解,本簇建在其上、补齐 rootfs/overlayfs、VM 对比与性能分析。全局地图见 ../../overview.md。
- overview.md —— 总纲:容器三大支柱(namespace 隔离 / cgroup 限额 / overlayfs 镜像)、启动全流程(runc:clone→pivot_root→veth→cgroup→execve)、镜像 vs 容器 vs 运行时、路由表
- container-vs-vm.md —— 容器 vs 虚拟机:虚拟化硬件 vs 虚拟化 OS 视图、两张架构图对比、逐维度对比表、KVM 原理、隔离/安全取舍(Kata/gVisor)、怎么选
- performance.md —— 容器的性能损耗:CPU/内存≈零、网络(veth/NAT/conntrack 是主要开销)、存储(overlayfs copy-up)、cgroup 限流(CFS throttling 致 p99 抖动)、观测坑(容器内 /proc 是宿主值)
一句话:容器是"共享内核的隔离进程",本身几乎无 CPU/内存开销;真正的损耗在网络、存储、cgroup 限流这些周边——先读 overview 建立框架,再按 vs-vm / performance 分头深入。