Docker 学习之路-从入门到放弃:1

前言:docker学习之路。

第 1 阶段:打牢基础(1-2 天)

学习重点:理解 Docker 核心概念,熟悉基础命令

  1. 核心概念扫盲
  • 搞懂:镜像(Image)、容器(Container)、仓库(Registry) 三者的关系

仓库(Registry):

存放和分发镜像的地方,就像应用的"AppStore"

镜像(lmage):

只读的模板,就像程序的"安装包"或"模具"

容器(Container):

基于镜像创建的运行实例,就像根据模具压出来的"饼干"

  • 理解:Docker 解决了「环境一致性」问题(开发/测试/生产环境统一)
  1. 必练基础命令(在你的服务器终端直接敲)

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Bash # 1. 验证 Docker 正常运行 docker run hello-world # 跑官方示例容器,成功输出即环境正常 # 2. 查看本地镜像/容器(root用户直接执行,普通用户需加sudo) docker images # 查看已下载的镜像 docker ps # 查看运行中的容器 docker ps -a # 查看所有容器(含已停止) # 3. 拉取&运行一个常用镜像(比如 Nginx) docker pull nginx # 拉取 Nginx 镜像 docker run -d -p 80:80 --name my-nginx nginx # 后台运行 Nginx,映射 80 端口 # 然后在浏览器输入你的服务器公网 IP,能看到 Nginx 欢迎页就算成功! |

第 2 阶段:核心能力(3-5 天)

学习重点:掌握镜像构建、容器生命周期、数据持久化、网络

  1. 构建自己的镜像(Dockerfile)
  • 学习 Dockerfile 核心指令:FROM/RUN/COPY/WORKDIR/CMD/EXPOSE
  • 实战:写一个简单的 Python Web 镜像

|------------------------------------------------------------------------------------------------------------------------------------|
| 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 .
  • 运行容器:docker run -d -p 5000:5000 my-python-app
  1. 容器数据持久化
  • 问题:容器删除后数据会丢失 → 用数据卷(Volume)或绑定挂载解决
  • 示例:运行 MySQL 并持久化数据

|---------------------------------------------------------------------------------------------------------------------------------------|
| Bash docker run -d -p 3306:3306 --name my-mysql \ -v mysql-data:/var/lib/mysql \ # 数据卷挂载 -e MYSQL_ROOT_PASSWORD=123456 \ mysql:8.0 |

Docker 网络

  • 理解默认 bridge 网络,容器间通信方式
  • 练习:创建自定义网络,让两个容器互相访问

第 3 阶段:多容器编排(2-3 天)

学习重点 :用 docker compose 管理多容器应用(你的版本推荐用 docker compose 而非旧版 docker-compose)

  1. 先启用 Compose 插件 (你的环境里 docker-compose 命令不存在,是因为新版用插件形式)

|---------------------------------------------------------------------------------|
| Bash # 直接用 docker compose 命令(无需额外安装,Docker 20+ 已内置) docker compose version # 验证 |

  1. 编写 docker-compose.yml(比如部署「Web + 数据库」场景)

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| YAML # 示例:WordPress + MySQL version: '3' services: db: image: mysql:8.0 volumes: - db-data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress wordpress: image: wordpress ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: 123456 volumes: db-data: |

  • 启动:docker compose up -d
  • 停止:docker compose down

第 4 阶段:实战项目(1-2 周)

学习重点:用 Docker 部署真实项目,巩固知识

推荐几个适合新手的实战项目:

  1. 个人博客 :用 docker compose 部署 WordPress 或 Hexo
  2. Web 服务:部署自己的 Python/Node.js/Java 后端服务
  3. 监控工具:部署 Prometheus + Grafana 监控服务器状态
  4. DevOps 工具:部署 Jenkins 做 CI/CD(代码提交自动构建镜像)

第 5 阶段:进阶拓展(可选)

当你熟练掌握基础后,可以向这些方向深入:

  • 容器编排:学习 Docker Swarm 或 Kubernetes(K8s)
  • 镜像优化:减小镜像体积(多阶段构建、精简基础镜像)
  • 安全:容器安全配置、镜像扫描、最小权限原则
  • CI/CD:结合 GitLab CI/Jenkins 实现自动化部署

�� 学习资源推荐

  1. 官方文档 (最权威):Docker Docs
  2. 免费教程:菜鸟教程:Docker 教程和B 站:搜索「Docker 入门到实战」,找播放量高的完整课程
  3. 书籍:《Docker 入门与实践》(适合新手)、《Docker 进阶与实战》
  4. 在线实验Play with Docker(免费在线 Docker 环境,无需自己搭服务器)
相关推荐
java_logo5 分钟前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
世人万千丶8 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园11 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园12 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
从零开始的代码生活_13 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
生活爱好者!13 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
可乐奶茶sky13 小时前
AI Agent 学习
人工智能·学习
java_logo13 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客14 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
茯苓gao14 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习