阶段一:建立基础概念 (1-2天)
- 理解 Docker 是什么
- 容器 vs 虚拟机:轻量级、资源隔离、快速启动。
- Docker 的核心价值:一次构建,处处运行(解决环境一致性问题)。
- 核心概念
- 镜像(Image):只读模板(如一个精简的 Linux 系统 + Nginx)。
- 容器(Container):镜像的运行实例(一个隔离的进程)。
- 仓库(Registry):存放镜像的地方(如 Docker Hub、阿里云镜像仓库)。
阶段二:动手实践基础操作 (3-5天)
-
安装 Docker
-
掌握核心命令
bash# 镜像操作 docker pull ubuntu:20.04 # 下载镜像 docker images # 查看本地镜像 docker rmi <镜像ID> # 删除镜像 # 容器操作 docker run -it ubuntu:20.04 bash # 启动容器并进入交互模式 docker ps -a # 查看所有容器(包括已停止的) docker stop <容器ID> # 停止容器 docker rm <容器ID> # 删除容器
阶段三:深入理解镜像与容器 (1周)
-
编写 Dockerfile
-
创建一个简单的 Python 应用镜像:
dockerfile# Dockerfile FROM python:3.9-slim WORKDIR /app COPY . . RUN pip install flask EXPOSE 5000 CMD ["python", "app.py"]
-
构建镜像:
docker build -t my-python-app .
-
-
理解容器数据持久化
-
使用卷(Volume)保存数据:
bashdocker run -d -v my-data:/data --name db redis
-
绑定宿主机目录:
bashdocker run -v /host/path:/container/path nginx
-
-
容器网络
-
创建自定义网络并连接容器:
bashdocker network create my-net docker run -d --net my-net --name web nginx docker run -it --net my-net busybox ping web
-
阶段四:进阶实战项目 (1-2周)
- 多容器应用(Docker Compose)
-
编写
docker-compose.yml
部署 WordPress:yamlversion: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: example wordpress: image: wordpress ports: - "8000:80" depends_on: - db volumes: db_data:
-
启动:
docker-compose up -d
-