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 环境,无需自己搭服务器)
相关推荐
一只积极向上的小咸鱼1 小时前
docker exec 命令详解
运维·docker·容器
vpk1122 小时前
Docker Compose 部署 Yapi(连接本地MongoDB)
mongodb·docker·yapi
吹牛不交税2 小时前
vben admin框架vue项目发布部署到linux的docker中
linux·运维·docker
早睡早起好好code2 小时前
InternNav 论文回看
笔记·python·深度学习·学习·算法
Aliex_git2 小时前
前端监控笔记(一)
前端·笔记·学习
最懒的菜鸟2 小时前
docker pull weaviate 国内拉取失败的问题
运维·docker·容器
似水明俊德2 小时前
16-C#.Net-自研ORM框架-学习笔记
windows·笔记·学习·c#·.net
m0_738820202 小时前
Tailwind CSS 完整学习笔记
css·笔记·学习