一、Docker 基础与核心概念
1.1 架构设计与工作原理
1.1.1 Client-Server 架构(Docker Client/Daemon/REST API)
1.1.2 镜像分层存储机制(UnionFS)与写时复制(Copy-on-Write)
1.1.3 Linux Namespace 隔离机制(PID/Network/Mount/IPC/UTS/User)
1.1.4 Cgroups 资源控制(CPU/内存/磁盘I/O/网络)
1.2 镜像管理
1.2.1 Dockerfile 指令详解(FROM/COPY/RUN/CMD/ENTRYPOINT)
1.2.2 镜像构建优化策略(多阶段构建/层缓存)
1.2.3 镜像仓库管理(Docker Hub/私有Registry/镜像安全扫描)
1.3 容器生命周期管理
1.3.1 容器操作命令(run/exec/stop/rm/logs)
1.3.2 资源限制配置(CPU/内存/磁盘IO)
1.3.3 容器健康检查与自愈机制
二、Docker 高级特性
2.1 网络模型
2.1.1 五种网络模式(none/host/bridge/container/overlay)
2.1.2 自定义网络与DNS服务发现
2.1.3 容器网络互通与跨主机通信
2.2 存储管理
2.2.1 数据卷(Volume)与绑定挂载(Bind Mount)
2.2.2 持久化存储方案(NFS/云存储插件)
2.2.3 存储驱动选择与性能优化
2.3 安全机制
2.3.1 能力控制(Capabilities)与Seccomp配置文件
2.3.2 镜像签名验证(Docker Content Trust)
2.3.3 容器安全最佳实践(非root用户/只读文件系统)
三、Docker 实战与工程化
3.1 生产环境优化
3.1.1 多阶段构建实战(Go/Node.js/Python项目)
3.1.2 最小化镜像构建(Alpine/Distroless)
3.1.3 容器资源监控方案(cAdvisor/Prometheus)
3.2 CI/CD 集成
3.2.1 Jenkins 容器化流水线设计
3.2.2 GitLab CI/CD 容器集成
3.2.3 镜像仓库与部署自动化策略
四、Kubernetes 基础架构
4.1 核心组件架构
4.1.1 控制平面组件(API Server/etcd/Scheduler)
4.1.2 工作节点组件(Kubelet/kube-proxy/容器运行时)
4.1.3 集群通信机制(API 聚合/CRI/CNI/CSI)
4.2 核心对象模型
4.2.1 Pod 工作原理与生命周期
4.2.2 Deployment 无状态应用管理
4.2.3 Service 服务发现与负载均衡
五、Kubernetes 进阶实践
5.1 网络与存储
5.1.1 Ingress 控制器(Nginx/Traefik)配置
5.1.2 CNI 网络插件(Calico/Flannel/Cilium)
5.1.3 PV/PVC 存储管理(Local/NFS/云存储)
5.2 配置与安全管理
5.2.1 ConfigMap 与 Secret 管理
5.2.2 RBAC 权限控制系统
5.2.3 网络策略(NetworkPolicy)实施
5.3 运维与监控
5.3.1 HPA 自动扩缩容机制
5.3.2 日志收集架构(EFK/Loki)
5.3.3 监控体系(Prometheus+Grafana)
六、云原生技术栈
6.1 高级编排模式
6.1.1 StatefulSet 有状态应用管理
6.1.2 DaemonSet 节点守护服务
6.1.3 Operator 开发框架(KubeBuilder/Operator SDK)
6.2 服务网格
6.2.1 Istio 核心架构(Pilot/Envoy/Mixer)
6.2.2 流量管理(金丝雀发布/故障注入)
6.2.3 安全通信(mTLS/认证授权)
6.3 生态系统工具
6.3.1 Helm 包管理机制
6.3.2 GitOps 实践(Argo CD/Flux)
6.3.3 集群管理工具(Rancher/kubespray)
七、面试专项
7.1 核心原理
7.1.1 Docker 与虚拟机本质区别
7.1.2 Kubernetes 调度器工作原理
7.1.3 etcd 分布式一致性实现
7.2 故障排查
7.2.1 Pod 启动失败诊断流程
7.2.2 网络不通问题排查方法
7.2.3 存储卷挂载问题处理
7.3 设计场景
7.3.1 高可用集群架构设计
7.3.2 零停机部署方案
7.3.3 多集群管理实践