专题知识学习:Docker

一、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 多集群管理实践