共计 3915 个字符,预计需要花费 10 分钟才能阅读完成。
文章目录 [显示]
Docker 30 天实战系列 · 完结篇
恭喜你!走到这里的人,都不简单。
30 天前,你可能还在搜索 "Docker 到底是个啥 ",对着一堆容器、镜像、仓库的概念一脸懵。30 天后的今天,你已经能独立完成从开发到生产的完整容器化部署。这就好比 30 天前你还在学骑自行车,现在已经能在马路上自如穿梭了——虽然偶尔还会被坑绊一下,但至少不会摔倒了。
这篇完结篇,我们不写新技术,而是回过头来,把 30 天走过的路好好梳理一遍,然后看看前方还有什么风景。
本文你将收获:
- 30 天完整知识图谱,一张图看清全局脉络
- 各阶段核心知识点速查表,方便日后翻阅
- 从 Docker 到 Kubernetes 的进阶路线图
- 精选学习资源和社区推荐
- 5 个可以立即动手的练手项目
阅读时间: 约 10 分钟
难度等级: 入门回顾 + 进阶指引
30 天知识图谱
先来一张全景图,看看我们这 30 天究竟走了多远:
Day 1-5: 基础入门 Day 6-10: 镜像精通
+-------------------+ +-------------------+
| Docker 概念 | | Dockerfile 编写 |
| 安装与配置 | -------> | 多阶段构建 |
| 容器生命周期 | | 镜像优化 |
| 基本命令 | | 私有仓库 |
| 数据持久化 | | 构建缓存策略 |
+-------------------+ +-------------------+
|
v
Day 11-15: 网络与通信 Day 16-20: 编排实战
+-------------------+ +-------------------+
| 网络模型 | | Compose 基础 |
| Bridge/Host/None | <------- | 多服务编排 |
| 容器间通信 | | 环境管理 |
| DNS 与服务发现 | | 健康检查 |
| 端口映射策略 | | 滚动更新 |
+-------------------+ +-------------------+
|
v
Day 21-25: 安全与监控 Day 26-30: 生产部署
+-------------------+ +-------------------+
| 安全最佳实践 | | CI/CD 集成 |
| 镜像扫描 | -------> | 日志管理 |
| 资源限制 | | 性能调优 |
| Prometheus 监控 | | 故障排查 |
| Grafana 可视化 | | 总结与进阶 |
+-------------------+ +-------------------+
看到这张图,是不是有种 " 原来我已经学了这么多 " 的感觉?别谦虚,这些知识点放在面试里,至少能聊半个小时。
各阶段核心知识点速查
第一阶段:基础入门(Day 1-5)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 1 | Docker 概念 | 容器 vs 虚拟机、镜像、容器、仓库 |
| Day 2 | 安装配置 | docker version、镜像加速器配置 |
| Day 3 | 容器生命周期 | run、stop、start、rm、exec |
| Day 4 | 基本操作 | logs、inspect、cp、top |
| Day 5 | 数据持久化 | volume、bind mount、tmpfs |
一句话总结: 学会了 " 怎么把程序装进盒子里运行 "。
第二阶段:镜像精通(Day 6-10)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 6 | Dockerfile 基础 | FROM、RUN、COPY、CMD |
| Day 7 | 多阶段构建 | 多个 FROM、COPY –from |
| Day 8 | 镜像优化 | 层缓存、.dockerignore、Alpine |
| Day 9 | 私有仓库 | Harbor、Registry、镜像推拉 |
| Day 10 | 构建进阶 | BuildKit、ARG、构建缓存 |
一句话总结: 学会了 " 怎么做出又小又快的盒子 "。
第三阶段:网络与通信(Day 11-15)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 11 | 网络模型 | bridge、host、none、overlay |
| Day 12 | 容器互联 | 自定义网络、network connect |
| Day 13 | DNS 服务发现 | 内置 DNS、服务名访问 |
| Day 14 | 端口管理 | -p 映射、EXPOSE、端口冲突 |
| Day 15 | 网络排查 | network inspect、tcpdump |
一句话总结: 学会了 " 怎么让盒子们互相说话 "。
第四阶段:编排实战(Day 16-20)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 16 | Compose 入门 | docker-compose.yml、up/down |
| Day 17 | 多服务编排 | depends_on、服务依赖 |
| Day 18 | 环境管理 | env_file、多环境配置 |
| Day 19 | 健康检查 | healthcheck、restart policy |
| Day 20 | 更新策略 | 滚动更新、回滚机制 |
一句话总结: 学会了 " 怎么同时指挥一群盒子协同工作 "。
第五阶段:安全与监控(Day 21-25)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 21 | 安全基础 | 非 root 运行、只读文件系统 |
| Day 22 | 镜像安全 | Trivy 扫描、签名验证 |
| Day 23 | 资源限制 | –memory、–cpus、cgroups |
| Day 24 | Prometheus | 指标采集、PromQL、告警 |
| Day 25 | Grafana | Dashboard、可视化、报警通知 |
一句话总结: 学会了 " 怎么让盒子们安全运行,出了问题能第一时间知道 "。
第六阶段:生产部署(Day 26-30)
| 天数 | 主题 | 核心命令 / 概念 |
|---|---|---|
| Day 26 | CI/CD | GitHub Actions、自动构建部署 |
| Day 27 | 日志管理 | ELK、日志驱动、集中收集 |
| Day 28 | 性能调优 | 存储驱动、网络优化、构建加速 |
| Day 29 | 故障排查 | 排查思路、常见问题、应急预案 |
| Day 30 | 总结进阶 | 知识图谱、K8s 路线、资源推荐 |
一句话总结: 学会了 " 怎么让盒子们在生产环境稳稳当当地跑 "。
从 Docker 到 Kubernetes:进阶路线图
学完 Docker,下一站自然是 Kubernetes(简称 K8s)。如果说 Docker 是 " 管理一个盒子 ",那 K8s 就是 " 管理一个仓库里的所有盒子 "。
进阶路线建议
你现在在这里
|
v
[Docker 基础扎实] -----> 恭喜毕业!|
v
[K8s 概念入门] 预计 1-2 周
Pod / Service / Deployment
kubectl 基本操作
|
v
[K8s 核心组件] 预计 2-3 周
etcd / API Server / Scheduler
Controller Manager
|
v
[K8s 实战部署] 预计 2-3 周
Helm Charts
Ingress / ConfigMap / Secret
有状态应用部署
|
v
[K8s 运维进阶] 预计 3-4 周
HPA 自动伸缩
RBAC 权限管理
网络策略 / 存储方案
|
v
[云原生生态] 持续学习
Service Mesh (Istio)
Serverless (Knative)
GitOps (ArgoCD)
学习 K8s 之前的准备
别急着上手 K8s,先确认这几项 Docker 基础是否牢固:
- 容器网络 — 理解 bridge、overlay 网络模型
- 数据持久化 — volume 的使用和原理
- Compose 编排 — 多服务协作的经验
- 镜像构建 — 多阶段构建、镜像优化
如果以上四项你都能说个七七八八,那就放心大胆地往 K8s 迈进吧。
推荐学习资源
书籍推荐
| 书名 | 适合阶段 | 推荐理由 |
|---|---|---|
| 《Docker 实战》 | 入门巩固 | 系统全面,案例丰富 |
| 《Kubernetes in Action》 | K8s 入门 | 经典之作,循序渐进 |
| 《云原生应用架构实践》 | 进阶 | 架构视角,实战导向 |
| 《Kubernetes 权威指南》 | 深入 | 国人编写,贴近实际 |
在线资源
- Docker 官方文档 (docs.docker.com) — 永远的第一手资料,遇事不决查文档
- Kubernetes 官方教程 (kubernetes.io/docs) — 交互式教程,边学边练
- Play with Docker (labs.play-with-docker.com) — 免费在线 Docker 环境,不用装就能玩
- Katacoda — 交互式学习平台,K8s 场景丰富
- B 站 — 搜索 "K8s 实战 ",有不少质量不错的中文教程
社区推荐
- CNCF 云原生社区 — 云原生技术的 " 官方 " 社区
- Docker 中文社区 — 国内 Docker 爱好者聚集地
- GitHub — 多看优秀的开源项目是怎么用 Docker 的,比看十篇教程都管用
练手项目建议
光看不练假把式。这里给你推荐 5 个难度递进的练手项目:
项目一:个人博客容器化部署
难度: 入门
技术点: Dockerfile、Compose、Nginx 反向代理
目标: 把一个前后端分离的博客项目用 Docker Compose 一键部署起来
项目二:微服务电商系统
难度: 中等
技术点: 多服务编排、服务发现、负载均衡
目标: 用户服务 + 商品服务 + 订单服务 + API 网关,全部容器化
项目三:CI/CD 流水线搭建
难度: 中等
技术点: Jenkins/GitLab CI、自动构建、自动部署
目标: 代码推送后自动构建镜像、运行测试、部署到测试环境
项目四:监控告警体系
难度: 中高
技术点: Prometheus + Grafana + AlertManager
目标: 搭建完整的容器监控体系,配置关键指标告警
项目五:K8s 集群部署
难度: 高级
技术点: kubeadm、Helm、Ingress
目标: 用 kubeadm 搭建三节点 K8s 集群,部署一个完整应用
建议按顺序来,每个项目都认真做完再进入下一个。急不来,基础打牢了后面才走得快。
写在最后
30 天,说长不长,说短不短。
还记得 Day 1 你第一次运行 docker run hello-world 时的那种兴奋吗?还记得 Day 7 多阶段构建把镜像从 1GB 压到 50MB 时的成就感吗?还记得 Day 16 第一次用 Compose 把前后端数据库一起拉起来时的那种 " 我也能搞微服务 " 的自信吗?
这些都是真实的进步,是你一天一天积累出来的。
容器技术是云原生时代的基石。你现在掌握的 Docker 技能,不只是会用一个工具那么简单——你理解了现代应用部署的核心思想:标准化、可移植、可扩展。这些思想会贯穿你整个技术生涯。
接下来的路,K8s 也好,Service Mesh 也好,Serverless 也好,万变不离其宗——都是在 " 容器 " 这个基础上往上搭积木。地基打好了,楼想盖多高都行。
最后借用一句话: 学技术就像爬山,不要总盯着山顶看,回头看看来时的路,你会发现自己已经很厉害了。
30 天实战系列到此完结,但你的容器化之旅才刚刚开始。
保持学习,保持好奇,我们江湖再见!
关注公众号 ,第一时间获取更多技术干货。后续我们可能推出 Kubernetes 实战系列,敬请期待!
如果这个系列对你有帮助,欢迎转发给身边的朋友。独学而无友,则孤陋而寡闻,一起学习才更有动力。