容器核心原理专栏导览

专栏定位

本专栏不是 Docker 使用教程docker builddocker run、Dockerfile 编写——这些内容互联网上已经汗牛充栋。本专栏关注的是 Docker 和所有容器技术底层依赖的 Linux 内核机制:当你执行 docker run 时,操作系统层面到底发生了什么?

容器的本质是被 Linux 内核机制隔离和限制的进程。Docker 的历史贡献在于将 Linux NamespaceCgroupsUnionFS 等分散的内核技术优雅地封装为标准化的产品体验,但 Docker 本身并没有发明任何新的隔离技术。理解这些内核机制,不仅能让你真正理解容器”为什么轻量”、“隔离边界在哪里”、“安全风险是什么”,更是后续学习 Kubernetes 的必备前置知识——K8s 的 Pod、资源限制、网络模型都直接建立在这些内核原语之上。

目录

序号文章核心内容
0101 容器的本质——从进程隔离到 OCI 标准容器 vs 虚拟机的本质区别、容器技术的演进(chroot → Jail → LXC → Docker → OCI)、OCI 规范、容器运行时层次(containerd / runc)
0202 Linux Namespace 深度解析六大 Namespace(PID/Net/Mnt/UTS/IPC/User)的内核实现原理、clone/unshare/setns 系统调用、手动用 Namespace 构建一个”容器”
0303 Cgroups 资源限制与控制Cgroups v1 vs v2 架构差异、CPU/Memory/IO 控制器的限制机制、OOM Killer 与内存回收、Cgroups 在容器运行时中的应用
0404 UnionFS 与容器镜像原理联合文件系统的设计思想、OverlayFS 的分层机制(lowerdir/upperdir/merged)、Docker 镜像的分层存储与内容寻址、镜像构建与分发的工程原理
0505 容器网络原理Network Namespace 与 veth pair、Linux Bridge 模型、容器的四种网络模式、Docker Bridge 网络的完整数据包路径、CNI 接口规范(为 K8s 网络铺垫)
0606 容器安全边界与逃逸风险容器共享内核的安全隐患、Linux Capabilities 最小权限、Seccomp 系统调用过滤、AppArmor/SELinux MAC 策略、Rootless 容器、安全容器(gVisor/Kata)

推荐阅读路径

  • 快速理解容器本质:01 → 02 → 03
  • 深入镜像与存储:01 → 04
  • 容器网络(K8s 前置):02 → 05
  • 安全加固:02 → 03 → 06

与后续专栏的关系

本专栏是 Kubernetes 专栏的硬性前置。K8s 中的以下核心概念直接依赖本专栏的知识:

K8s 概念依赖的容器内核知识
Pod 的隔离模型Namespace 共享(同 Pod 容器共享 Net/IPC Namespace)
resources.limits / resources.requestsCgroups CPU/Memory 控制器
容器镜像拉取与存储UnionFS 分层、内容寻址、镜像分发
Pod 网络与 Serviceveth pair、Bridge、CNI
Pod Security StandardsCapabilities、Seccomp、AppArmor
containerd 作为容器运行时OCI 规范、containerd/runc 架构

关联专栏