Docker 学习资源
本章汇总了 Docker 学习过程中的优质资源,帮助你进一步深入学习容器技术。
官方资源
| 资源 | 链接 | 说明 |
|---|---|---|
| Docker 官方文档 | docs.docker.com | 最权威的参考文档 |
| Docker Hub | hub.docker.com | 官方镜像仓库 |
| Docker Blog | docker.com/blog | 官方博客,技术动态 |
| Docker GitHub | github.com/docker | 源代码和 Issue |
| Play with Docker | labs.play-with-docker.com | 在线 Docker 实验环境 |
学习路线建议
入门阶段(1-2 周)
- 理解容器和虚拟机的区别
- 安装 Docker 并运行第一个容器
- 学习基本命令:
run、ps、logs、exec、stop、rm - 理解镜像、容器、仓库的关系
- 学习 Dockerfile 基础语法
进阶阶段(2-4 周)
- 掌握 Dockerfile 最佳实践和多阶段构建
- 学习 Docker Compose 编排多容器应用
- 理解 Docker 网络和数据管理
- 实践常见应用的容器化部署
- 学习镜像优化和安全实践
高级阶段(1-2 月)
- 学习 Docker Swarm 或 Kubernetes 集群管理
- 实践 CI/CD 流程中的 Docker 集成
- 深入理解容器运行时和底层技术
- 学习容器监控和日志管理
- 实践微服务架构的容器化
推荐书籍
| 书名 | 适合人群 | 说明 |
|---|---|---|
| 《Docker 实战》 | 入门 | 系统学习 Docker 基础 |
| 《Docker 深入与实战》 | 进阶 | 深入理解 Docker 原理 |
| 《Kubernetes in Action》 | 进阶 | K8s 经典教程 |
| 《Docker/Kubernetes 开发指南》 | 开发者 | 面向开发者的实践指南 |
在线课程和教程
常用工具
| 工具 | 说明 |
|---|---|
| Docker Desktop | 桌面端 Docker 管理工具 |
| Portainer | Web 端 Docker 管理界面 |
| Lazydocker | 终端 Docker 管理工具 |
| Dive | 分析 Docker 镜像层的工具 |
| Trivy | 容器安全扫描工具 |
| Hadolint | Dockerfile 语法检查工具 |
| ctop | 容器资源监控工具 |
安装常用工具
bash
# Lazydocker - 终端 Docker 管理
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock lazyteam/lazydocker
# Portainer - Web 管理界面
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer-ce
# Dive - 镜像分析
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive myimage:latest
# Hadolint - Dockerfile 检查
docker run --rm -i hadolint/hadolint < Dockerfile社区资源
Docker 命令速查表
容器操作
bash
docker run -d -p 80:80 --name web nginx # 运行容器
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器
docker stop web # 停止容器
docker start web # 启动容器
docker restart web # 重启容器
docker rm web # 删除容器
docker logs web # 查看日志
docker exec -it web /bin/bash # 进入容器
docker stats # 资源监控镜像操作
bash
docker images # 查看镜像
docker pull nginx:latest # 拉取镜像
docker build -t myapp:v1 . # 构建镜像
docker tag myapp:v1 registry/myapp:v1 # 打标签
docker push registry/myapp:v1 # 推送镜像
docker rmi myapp:v1 # 删除镜像
docker image prune # 清理悬空镜像数据卷和网络
bash
docker volume create mydata # 创建数据卷
docker volume ls # 查看数据卷
docker network create mynet # 创建网络
docker network ls # 查看网络系统管理
bash
docker system df # 磁盘使用
docker system prune -a # 清理所有未使用资源
docker info # 系统信息
docker version # 版本信息本章小结
Docker 的学习是一个循序渐进的过程。从基础命令开始,逐步深入到镜像构建、容器编排和集群管理。善用官方文档和社区资源,结合实际项目练习,是掌握 Docker 的最佳方式。
祝你在 Docker 学习之旅中一切顺利!