12_implementation/summary.md
本章深入介绍了 Docker 的底层实现,包括命名空间、控制组和联合文件系统三大核心技术。
| 技术 | 作用 | 要点 |
|---|---|---|
| Namespace | 资源隔离 | 常见核心包括 PID、NET、MNT、UTS、IPC、USER、Cgroup;Time namespace 通常默认不启用 |
| Cgroups | 资源限制 | 限制 CPU、内存、磁盘 I/O、进程数 |
| Union FS | 分层存储 | 镜像分层与 Copy-on-Write 是核心;Engine 29 新装默认 containerd image store,overlay2 是经典 graph driver 场景的主要后备 |
| Namespace | 隔离内容 | 一句话说明 |
|---|---|---|
| PID | 进程 ID | 容器有自己的进程树 |
| NET | 网络 | 容器有自己的 IP 和端口 |
| MNT | 文件系统 | 容器有自己的根目录 |
| UTS | 主机名 | 容器有自己的 hostname |
| IPC | 进程间通信 | 容器间 IPC 隔离 |
| USER | 用户 ID | 容器 root ≠ 宿主机 root |
| 资源 | 限制参数 | 示例 |
|---|---|---|
| 内存 | -m | -m 512m |
| CPU 核心数 | --cpus | --cpus=1.5 |
| CPU 绑定 | --cpuset-cpus | --cpuset-cpus="0,1" |
| 磁盘 I/O | --device-write-bps | --device-write-bps /dev/sda:10mb |
| 进程数 | --pids-limit | --pids-limit=100 |