下面是一份**「Docker 基础篇」系统入门教程,适合初学者 / 运维 / 后端 / 毕设环境部署**,从概念到实操,一篇就能上手。
Docker 基础篇(从 0 到会用)
一、Docker 是什么?
Docker是一种容器化技术,可以把应用程序 + 运行环境 + 依赖一次性打包成一个容器(Container),做到:
一次构建,到处运行
解决了什么问题?
- 环境不一致(“我电脑能跑,你电脑跑不了”)
- 部署复杂、配置繁琐
- 应用迁移成本高
二、Docker 的核心概念
1️⃣ 镜像(Image)
- 相当于程序安装包
- 只读模板
- 用于创建容器
👉 类比:操作系统 ISO / 软件安装包
2️⃣ 容器(Container)
- 镜像的运行实例
- 轻量级、可启动/停止
- 相互隔离
👉 类比:正在运行的软件
3️⃣ 仓库(Registry)
存放镜像的地方
常见:
- Docker Hub(官方)
- 阿里云镜像仓库
三、Docker 的工作原理(简化)
Dockerfile → Image → Container- Dockerfile:构建规则
- Image:构建结果
- Container:运行实例
四、Docker 安装(常见环境)
Linux(CentOS / Ubuntu)
# 安装curl-fsSLhttps://get.docker.com|bash# 启动systemctl startdocker# 开机自启systemctlenabledocker# 查看版本docker-vWindows / macOS
- 安装Docker Desktop
- 官方地址:https://www.docker.com/products/docker-desktop
五、Docker 常用命令(必会)
1️⃣ 镜像相关
dockerimages# 查看镜像dockerpull nginx# 拉取镜像dockerrmi 镜像ID# 删除镜像2️⃣ 容器相关
dockerps# 查看运行中容器dockerps-a# 查看所有容器dockerrun nginx# 启动容器dockerstop 容器ID# 停止容器dockerrm容器ID# 删除容器3️⃣ 常用 run 参数(重点)
dockerrun-d\-p80:80\--namemynginx\nginx| 参数 | 说明 |
|---|---|
-d | 后台运行 |
-p | 端口映射 |
--name | 容器名称 |
六、数据卷(Volume)
为什么需要数据卷?
容器删除后:
❌ 数据丢失
解决方案:数据持久化
dockerrun-d\-v/data/nginx:/usr/share/nginx/html\nginx👉宿主机目录 ↔ 容器目录
七、Dockerfile 基础
示例:构建一个 Java 项目镜像
FROM openjdk:8 COPY app.jar /app.jar CMD ["java", "-jar", "/app.jar"]构建并运行
dockerbuild-tmyapp.dockerrun-d-p8080:8080 myapp八、Docker 网络(入门)
- 默认 bridge 网络
- 容器之间可通过容器名通信
dockernetworklsdockernetwork create mynetdockerrun--networkmynet...九、Docker vs 虚拟机
| 对比 | Docker | 虚拟机 |
|---|---|---|
| 启动速度 | 秒级 | 分钟级 |
| 资源占用 | 少 | 多 |
| 隔离性 | 进程级 | 系统级 |
| 适合场景 | 微服务 | 完整系统 |
十、Docker 适用场景
✅ 微服务部署
✅ 项目快速搭建环境
✅ CI/CD 持续集成
✅ 毕设 / 实验环境统一
✅ 本地开发环境隔离
十一、新手常见坑
❌ 端口没映射,访问不了
❌ 容器一启动就退出(CMD 写错)
❌ 镜像太大(未清理依赖)
❌ 数据未持久化
十二、学习路线推荐
1️⃣ 会用docker run
2️⃣ 理解 Image / Container
3️⃣ 掌握 Dockerfile
4️⃣ 学会 Volume / Network
5️⃣ 入门 Docker Compose(进阶)
如果你需要👇
- Docker 命令速查表(PDF)
- Docker + Spring Boot / Python / Node 示例
- Docker Compose 入门篇
- 毕设 / 项目部署完整流程
直接告诉我你的使用场景,我可以按你需求给你定制教程 🚀