第一周:拥抱核心,从零上手 (Day 1-5)

这一周的目标是快速上手,把Docker跑起来,并理解它是如何工作的。建议每天保证1-2小时的专注学习和实操。

天数学习主题核心学习内容与实操任务
Day 1核心概念与环境搭建- 理解核心概念:深入学习Docker三大核心概念:镜像(Image)、容器(Container)、仓库(Registry)-1
- 环境搭建:根据你的系统(Linux/macOS/Windows)安装Docker Desktop或Docker Engine-1
- 验证安装:运行docker run hello-world,确保看到成功信息-1
Day 2镜像与容器常用命令- 镜像操作:学习docker pull(拉取镜像)、docker images(列出镜像)、docker rmi(删除镜像)等命令
- 容器操作:学习docker ps -a(查看所有容器)、docker stop/start/rm(停止/启动/删除容器)等命令-1
- 动手实践:拉取一个Nginx镜像,并使用docker run运行起来
Day 3容器交互与后台运行- 前台与后台:理解-d(后台运行)和-it(交互式运行)的区别-1
- 访问容器:学习使用docker exec -it进入正在运行的容器内部;使用docker logs查看容器日志-1
- 综合实战:运行一个Redis容器,并通过docker exec进入容器,执行简单的set和get命令-1
Day 4端口映射与服务访问- 端口映射:学习使用-p <宿主机端口>:<容器端口>将容器服务暴露给外部访问-1-28
- 实战Nginx:运行Nginx容器并完成端口映射,在浏览器中访问Nginx欢迎页
- 资源限制:了解使用--cpus和--memory等参数限制容器资源-3
Day 5初识Dockerfile- 理解Dockerfile:学习Dockerfile的基本指令:FROM, WORKDIR, COPY, RUN, CMD等-1
- 编写第一个Dockerfile:为一个简单的静态网站或小应用(如Python Flask)编写Dockerfile
- 构建镜像:使用docker build -t my-first-image .命令,基于Dockerfile构建镜像
第二周:深入实战,连接与存储 (Day 6-10)

第二周的目标是进阶实战,你将重点掌握容器化应用的数据持久化和网络通信两大难题。

天数学习主题核心学习内容与实操任务
Day 6Dockerfile优化- 最佳实践:学习如何写出高效的Dockerfile,如合并RUN指令、利用构建缓存等-17-21
- 镜像瘦身:学习使用多阶段构建技术,并选用alpine等轻量级基础镜像-6-18
- 安全实践:了解在Dockerfile中避免硬编码密码,使用ARG等指令-18
Day 7数据持久化:Volume基础- 理解数据卷:学习Volume和Bind Mount的概念、区别及适用场景-35
- Volume操作:学习docker volume create、docker volume ls等基础命令-36
- 实践Volume挂载:使用-v或--mount参数,将一个Volume挂载到容器内-37
Day 8数据持久化:实战与Bind Mount- 综合实战:创建一个MySQL容器,并使用Volume将其数据目录/var/lib/mysql挂载起来,模拟数据持久化-35
- 学习Bind Mount:使用-v /host/path:/container/path语法,将宿主机目录挂载到容器内-6
- 场景对比:在开发环境中,使用Bind Mount实现代码热更新;在生产环境,优先使用Volume-35
Day 9网络模式与容器通信- 了解网络模式:学习bridge(默认)、host、none、container四种网络模式的特点和适用场景-26-28
- 自定义网络:使用docker network create创建一个自定义的桥接网络,学习容器服务发现(通过容器名通信)-28
- 实践容器通信:创建两个容器,将它们接入同一自定义网络,验证它们可以通过容器名互相ping通
Day 10综合实战与回顾总结- 多容器应用部署:使用Docker部署一个WordPress + MySQL的应用组合,打通网络和数据持久化
- 常用命令回顾:将本周学到的docker network、docker volume、docker build等命令进行系统回顾
- 知识梳理:整理一份你自己的Docker速查表,记录核心命令和常见问题解决方案

🚀 一些加速学习的小技巧

  • 多练是王道:技术学习没有捷径,最重要的就是动手练习。如果某个步骤卡住了,先静下心来看懂官方文档,再亲手敲几遍命令,感受远大于只看不做-。

  • 善用--help:遇到不确定的命令或参数,直接在终端输入docker <command> --help,这是最快捷的查阅方式。

  • 理解日志信息:当命令出错时,认真阅读终端输出的错误信息,它通常会告诉你问题所在,这是一项重要的排错能力。

  • 从官方出发:遇到概念不清或最佳实践问题,优先查阅Docker官方文档,这是最权威的信息源。

更多推荐