Docker 容器知识体系概览
为什么要学 Docker
Docker 是现代运维的核心技能。容器化部署已经从"可选"变成"标配",无论是 CI/CD、微服务、Kubernetes 都以 Docker 为基础。
核心概念
Docker 架构
容器 vs 虚拟机
| 维度 | 容器 | 虚拟机 |
|---|---|---|
| 隔离级别 | 进程级(Namespace) | 硬件级(Hypervisor) |
| 启动速度 | 秒级 | 分钟级 |
| 体积 | MB 级 | GB 级 |
| 性能 | 接近原生 | 有虚拟化开销 |
| 内核 | 共享宿主机内核 | 独立内核 |
| 密度 | 单机可运行数百容器 | 通常几十个 VM |
| 安全性 | 相对较低(共享内核) | 较高 |
底层技术
| 技术 | 作用 | 说明 |
|---|---|---|
| Namespace | 隔离 | PID、Network、Mount、UTS、IPC、User |
| Cgroup | 资源限制 | CPU、内存、IO、网络带宽 |
| UnionFS | 分层文件系统 | overlay2(推荐)、AUFS |