From 6a9ce44c5a072ccb257149efa0d7b376524b7811 Mon Sep 17 00:00:00 2001 From: baohua Date: Thu, 5 Mar 2026 19:14:37 -0800 Subject: [PATCH] Add learning roadmap --- appendix/learning_roadmap.md | 873 +++++++++++++++++++++++++++++++++++ 1 file changed, 873 insertions(+) create mode 100644 appendix/learning_roadmap.md diff --git a/appendix/learning_roadmap.md b/appendix/learning_roadmap.md new file mode 100644 index 0000000..715fdb6 --- /dev/null +++ b/appendix/learning_roadmap.md @@ -0,0 +1,873 @@ +## 附录八:Docker 学习路线图与知识体系 + +本附录为学习者提供清晰的学习路线、知识点依赖关系、认证指南和常见面试题,帮助快速成长为 Docker 和 DevOps 专家。 + +### 学习阶段划分 + +Docker 学习可分为四个递进阶段,每个阶段都有明确的学习目标和时间投入。 + +#### 第一阶段:基础入门(0-2 周) + +**学习目标:** +- 理解容器化的基本概念 +- 能够运行、管理基本的容器 +- 了解镜像和仓库的基本操作 + +**核心内容:** +``` +Docker 简介 +├── 为什么需要 Docker +├── 容器 vs 虚拟机 vs 云计算 +└── Docker 的三大核心概念 + ├── 镜像(Image) + ├── 容器(Container) + └── 仓库(Repository) + +基础命令 +├── docker run / create / start / stop / rm +├── docker ps / logs / exec / inspect +├── docker pull / push / tag +└── docker build -t + +Docker 安装配置 +├── Linux 平台安装 +├── macOS 和 Windows 安装 +├── 镜像加速器配置 +└── 权限和用户配置 +``` + +**学习资源:** +- 官方教程:https://docs.docker.com/get-started/ +- 本书第 1-3 章:入门篇基础概念 +- Docker CLI 参考:https://docs.docker.com/engine/reference/commandline/ + +**时间投入:** +- 理论学习:3-4 小时 +- 实操练习:8-10 小时 +- 总计:2 周 + +**验证学习成果:** +```bash +# 完成以下任务说明基础入门完成 +1. 运行官方 nginx 镜像,访问 http://localhost +2. 使用 docker exec 进入容器修改首页 +3. 提交修改为新镜像 +4. 推送镜像到 Docker Hub(需创建账户) +``` + +#### 第二阶段:核心开发(2-6 周) + +**学习目标:** +- 掌握 Dockerfile 编写 +- 能够构建自己的应用镜像 +- 理解数据管理和网络配置 +- 熟悉 Docker Compose 编排 + +**核心内容:** +``` +Dockerfile 指令详解 +├── FROM / RUN / COPY / ADD +├── WORKDIR / ENV / ARG +├── EXPOSE / CMD / ENTRYPOINT +├── VOLUME / USER / HEALTHCHECK +└── 最佳实践和性能优化 + ├── 分层缓存机制 + ├── 减少镜像体积 + ├── 多阶段构建 + └── 安全最佳实践 + +容器数据管理 +├── 数据卷(Volume) +│ ├── 命名卷 +│ ├── 匿名卷 +│ └── 卷挂载最佳实践 +├── 绑定挂载(Bind Mount) +│ ├── 宿主机路径映射 +│ └── 权限和隔离 +└── tmpfs 挂载 + └── 临时文件系统 + +容器网络 +├── 网络类型 +│ ├── bridge(默认) +│ ├── host +│ ├── overlay +│ └── macvlan +├── 端口映射 +├── 容器互联 +├── DNS 配置 +└── 自定义网络 + +Docker Compose +├── compose.yml/docker-compose.yml 编写 +├── services 定义 +├── volumes 配置 +├── networks 配置 +├── 依赖关系 +├── 环境变量 +└── 命令操作 + ├── up / down / ps / logs + ├── exec / run + └── build / push +``` + +**学习资源:** +- 本书第 4-11 章:进阶篇 +- Docker 官方最佳实践:https://docs.docker.com/develop/dev-best-practices/ +- Dockerfile 参考:https://docs.docker.com/engine/reference/builder/ + +**时间投入:** +- 理论学习:8-10 小时 +- 实操练习:30-40 小时(多个实战项目) +- 总计:4-6 周 + +**项目实战:** +``` +项目 1: Python Web 应用(Flask/Django) +- 编写多阶段 Dockerfile +- 使用 Compose 配置数据库 +- 实现热重载开发环境 + +项目 2: Node.js 微服务 +- 优化镜像大小 +- 配置 Compose 多个服务 +- 设置网络和环保境变量 + +项目 3: 数据库容器化 +- PostgreSQL/MySQL 配置 +- 数据持久化 +- 备份恢复策略 +``` + +#### 第三阶段:生产优化(6-12 周) + +**学习目标:** +- 掌握容器安全最佳实践 +- 理解性能监控和优化 +- 学会容器编排(Kubernetes 基础) +- 熟悉 CI/CD 集成 + +**核心内容:** +``` +容器安全 +├── 镜像安全 +│ ├── 漏洞扫描(Trivy/Grype/Snyk) +│ ├── 镜像签名和验证(Cosign) +│ ├── SBOM 生成和管理 +│ └── 供应链安全 +├── 运行时安全 +│ ├── 用户和权限 +│ ├── Linux 能力机制 +│ ├── AppArmor 和 SELinux +│ ├── Rootless 容器 +│ └── 安全的 Docker socket 访问 +└── 宿主机安全 + ├── API 访问控制 + ├── TLS 认证 + └── 审计日志 + +性能监控和优化 +├── 监控指标体系 +│ ├── CPU / 内存 / 网络 / I/O +│ └── 应用级指标 +├── 监控工具 +│ ├── docker stats +│ ├── cAdvisor +│ ├── Prometheus +│ └── Grafana +├── 性能优化 +│ ├── 镜像大小优化 +│ ├── 内存和 CPU 限制 +│ ├── OOM 诊断和处理 +│ └── 网络性能优化 +└── 日志管理 + ├── 日志驱动配置 + ├── ELK Stack + └── 日志聚合 + +容器编排基础 +├── Kubernetes 核心概念 +│ ├── Pod / Deployment / Service +│ ├── ConfigMap / Secret +│ └── 健康检查和自动恢复 +├── 容器执行环境 +│ ├── containerd +│ ├── CRI-O +│ └── Docker +├── 网络插件 +│ ├── CNI 标准 +│ ├── Calico / Flannel / Cilium +│ └── 网络策略 +└── 存储和有状态应用 + ├── PV / PVC + ├── StorageClass + └── StatefulSet + +CI/CD 集成 +├── GitHub Actions +│ ├── 镜像构建和推送 +│ ├── 安全扫描 +│ └── 自动化测试 +├── GitLab CI +├── Jenkins Docker 集成 +└── Drone + +生态工具 +├── Buildx(多架构构建) +├── Skopeo(镜像管理) +├── Podman(替代方案) +├── Buildah(镜像构建) +└── Kollabot +``` + +**学习资源:** +- 本书第 12-21 章:深入篇和实战篇 +- Kubernetes 官方文档:https://kubernetes.io/docs/ +- CNCF 学习路线:https://landscape.cncf.io/ + +**时间投入:** +- 理论学习:15-20 小时 +- 实操练习:60-80 小时(多个生产级项目) +- 总计:6-12 周 + +**项目实战:** +``` +项目 1: 安全镜像构建流程 +- 集成 Trivy 扫描 +- 镜像签名和验证 +- 生成 SBOM 文档 + +项目 2: 完整监控栈 +- 搭建 Prometheus + Grafana +- 配置告警规则 +- 性能数据采集和分析 + +项目 3: CI/CD 流程 +- GitHub Actions 或 GitLab CI 配置 +- 自动化镜像构建 +- 安全扫描和合规检查 +- 自动化部署到 Kubernetes + +项目 4: Kubernetes 集群部署 +- 本地 K3s/Kind 集群 +- 部署有状态应用 +- 配置持久化存储 +``` + +#### 第四阶段:专家深造(12+ 周) + +**学习目标:** +- 掌握 Kubernetes 高级特性 +- 理解容器运行时底层实现 +- 能够设计和优化大规模容器平台 +- 贡献开源社区 + +**核心内容:** +``` +Kubernetes 高级特性 +├── 集群管理 +│ ├── 节点管理和驱逐 +│ ├── 集群自动扩缩容 +│ └── 节点亲和性和污点容忍 +├── 存储编排 +│ ├── 动态存储配置 +│ ├── 有状态应用管理(StatefulSet) +│ └── 备份和灾难恢复 +├── 服务网格(Service Mesh) +│ ├── Istio / Linkerd / Cilium +│ ├── 流量管理 +│ └── 可观测性增强 +├── 安全和多租户 +│ ├── RBAC(角色访问控制) +│ ├── Network Policy 深入 +│ ├── Pod Security Policy +│ └── 准入控制器(Admission Controller) +└── 性能和扩展性 + ├── 大规模集群优化 + ├── 自定义 Operator + └── 集群联邦 + +容器运行时底层 +├── Linux 内核机制 +│ ├── Namespace 详解 +│ ├── Cgroup v1 和 v2 +│ ├── OverlayFS 和 UnionFS +│ └── SELinux 和 AppArmor +├── 容器运行时 +│ ├── containerd 源码阅读 +│ ├── runc 实现 +│ ├── gVisor 和 Kata +│ └── Firecracker +└── OCI 标准 + ├── Image Spec + └── Runtime Spec + +DevOps 工程化 +├── 大规模集群管理 +│ ├── Helm / Kustomize +│ ├── GitOps(Flux / ArgoCD) +│ └── 配置管理 +├── 灾难恢复和高可用 +│ ├── 多集群部署 +│ ├── 故障转移 +│ └── 备份策略 +├── 成本优化 +│ ├── 资源申请和限制 +│ ├── 自动扩缩容 +│ └── 成本监控 +└── 团队协作 + ├── GitFlow 工作流 + ├── 代码审查 + └── 文档和最佳实践传播 +``` + +**贡献机会:** +- Kubernetes(https://github.com/kubernetes/kubernetes) +- Cilium(https://github.com/cilium/cilium) +- Prometheus(https://github.com/prometheus/prometheus) +- Docker/Moby(https://github.com/moby/moby) + +### 知识点依赖关系 + +``` +基础概念 (Week 0-2) +├── 容器 vs 虚拟机 +├── Docker 三大概念 +└── 基础命令 + ↓ +Dockerfile 和镜像构建 (Week 2-4) +├── Dockerfile 指令 +├── 多阶段构建 +└── 镜像优化 + ↓ ↓ ↓ +数据管理 ← 网络配置 ← Docker Compose (Week 4-6) +├── Volume ├── Bridge ├── YAML 编写 +├── Bind Mount├── Overlay ├── 多容器编排 +└── tmpfs └── 自定义网络└── 开发工作流 + ↓ ↓ ↓ + └─────────────────────────┘ + 实战项目开发 (Week 6-10) + ├── Web 应用容器化 + ├── 数据库容器化 + ├── 微服务架构 + └── 本地开发环境 + ↓ +容器安全 ← 性能优化 ← 监控和日志 (Week 10-14) +├── 镜像扫描 ├── 大小优化 ├── Prometheus +├── 漏洞管理 ├── 内存优化 ├── Grafana +├── 镜像签名 ├── CPU 优化 └── ELK Stack +└── SBOM └── 诊断工具 + ↓ ↓ ↓ + └─────────────────────┘ + 安全生产环境 (Week 14-18) + ├── CI/CD 流程 + ├── 镜像仓库 + ├── 日志集中 + └── 告警系统 + ↓ +Kubernetes 基础 (Week 18-24) +├── Pod / Service / Deployment +├── 资源管理 +├── 存储管理 +└── 网络策略 + ↓ +Kubernetes 进阶 (Week 24-36) +├── StatefulSet / DaemonSet +├── Operator 开发 +├── 集群管理 +└── 服务网格 + ↓ +企业级平台设计 (Week 36+) +├── 多集群管理 +├── GitOps 工作流 +├── 成本优化 +└── 开源贡献 +``` + +### 推荐学习资源 + +#### 官方文档 + +| 资源 | URL | 推荐程度 | +|------|-----|--------| +| Docker 官方文档 | https://docs.docker.com | ⭐⭐⭐⭐⭐ | +| Docker Hub | https://hub.docker.com | ⭐⭐⭐⭐⭐ | +| Kubernetes 官方 | https://kubernetes.io/docs | ⭐⭐⭐⭐⭐ | +| CNCF 景观 | https://landscape.cncf.io | ⭐⭐⭐⭐ | + +#### 在线课程 + +- **Udemy**:Docker 和 Kubernetes 完整课程(70-100 小时) +- **Linux Academy**:Linux 和容器管理 +- **A Cloud Guru**:AWS/Azure 容器服务 +- **Pluralsight**:Docker 和容器生态系统 + +#### 书籍推荐 + +- 《Docker 深入浅出》- 本书的原版 +- 《Kubernetes 权威指南》- 深入 Kubernetes 的必读书 +- 《容器技术核心技术与应用》- 理解底层实现 +- 《SRE Google 运维之道》- 生产环保最佳实践 + +#### 博客和社区 + +- Docker 官方博客:https://www.docker.com/blog/ +- Kubernetes 官方博客:https://kubernetes.io/blog/ +- CNCF 博客:https://www.cncf.io/blog/ +- DZone:https://dzone.com/containers-cloud + +### 认证指南 + +#### Docker 认证 + +**Docker Certified Associate (DCA)** + +考试信息: +- 题目数:55 道 +- 时间限制:90 分钟 +- 及格分数:73%(约 41 道题) +- 费用:$165 USD +- 有效期:3 年 + +考试内容比例: +``` +镜像和仓库(20%) +- 镜像构建和管理 +- 镜像层和缓存 +- 私有仓库配置 + +容器运行(15%) +- 容器生命周期 +- 资源限制 +- 容器隔离 + +网络(15%) +- 网络驱动 +- 容器通信 +- 端口映射 + +存储(10%) +- Volume 管理 +- 数据持久化 +- 绑定挂载 + +编排(20%) +- Docker Compose +- Docker Swarm 基础 + +安全(15%) +- 用户和权限 +- 密钥管理 +- 镜像安全 +- 守护进程安全 + +和日志(5%) +- Logging drivers +- 事件处理 +``` + +准备建议: +```bash +# 1. 学习本书第 1-11 章(基础到中级) +# 2. 完成 20+ 个实战项目 +# 3. 参考官方学习指南 +curl https://docker.training.kodekloud.com/dca-guide + +# 4. 模拟考试 +- Linux Academy DCA 练习题 +- Whizlabs DCA 模拟考试 + +# 5. 重点掌握的命令 +docker build / push / pull / tag +docker run / exec / logs / inspect / ps +docker volume / network / service +docker-compose up / down / logs / ps +docker stats / events / inspect +``` + +#### Kubernetes 认证 + +**认证路径:** +1. **CKA - Certified Kubernetes Administrator** + - 难度:高 + - 时间:3 小时(实操) + - 费用:$395 + - 内容:集群安装、管理、故障排查 + +2. **CKAD - Certified Kubernetes Application Developer** + - 难度:中 + - 时间:2 小时(实操) + - 费用:$395 + - 内容:应用开发和部署 + +3. **CKS - Certified Kubernetes Security Specialist** + - 难度:很高 + - 时间:2 小时(实操) + - 费用:$395 + - 内容:安全最佳实践 + +### 常见面试题与答案要点 + +#### 基础概念面试题 + +**Q1: Docker 容器和虚拟机有什么区别?** + +A(要点): +``` +虚拟机: +- 完整的操作系统环境(GB 级) +- 启动时间:分钟级 +- 隔离级别:完全硬件隔离 +- 性能开销:高(5-20%) + +容器: +- 共享内核,包含应用和依赖(MB 级) +- 启动时间:秒级 +- 隔离级别:进程级隔离(Namespace/Cgroup) +- 性能开销:低(1-5%) + +总结:容器更轻量、更快、密度更高 +``` + +**Q2: 什么是 Docker 镜像?它如何存储的?** + +A(要点): +``` +镜像本质: +- 只读的文件系统快照 +- 分层存储结构 +- 每一层是前一层的增量 + +存储方式: +- Union FS:多个只读层 + 一个可写层 +- 每个 RUN/COPY/ADD 指令创建一层 +- 层之间通过 diff 增量存储,节省空间 + +优点: +- 共享基础层减少存储 +- 层级缓存加快构建 +- 支持高效分发 +``` + +**Q3: 容器如何实现隔离?** + +A(要点): +``` +技术手段: +1. Namespace(资源隔离): + - PID Namespace:进程隔离 + - Network Namespace:网络隔离 + - Mount Namespace:文件系统隔离 + - UTS Namespace:主机名隔离 + - IPC Namespace:进程间通信隔离 + +2. Cgroup(资源限制): + - 限制 CPU 使用 + - 限制内存使用 + - 限制磁盘 I/O + - 限制网络带宽 + +3. Linux 能力机制(权限控制): + - 削减不必要的 root 权限 + - 限制容器能力 + +4. SELinux / AppArmor(强制访问控制) +``` + +#### Dockerfile 面试题 + +**Q4: 如何优化 Docker 镜像大小?** + +A(要点): +``` +1. 选择合适的基础镜像: + scratch < alpine:3.17 < python:3.11-slim < python:3.11 + +2. 多阶段构建: + - 构建阶段只保留编译工具 + - 运行阶段只包含最终二进制 + - 典型场景:Go、Node.js、Java + +3. 清理包管理器缓存: + apt-get clean && rm -rf /var/lib/apt/lists/* + yum clean all && rm -rf /var/cache/yum + pip install --no-cache-dir + +4. 合并 RUN 指令: + 减少镜像层数 + +5. 使用 .dockerignore: + 排除不必要的构建上下文 + +6. 去除调试符号: + Go: -ldflags="-w -s" + C/C++: strip binary + +7. 压缩资源: + gzip 静态文件,压缩图片 +``` + +**Q5: CMD 和 ENTRYPOINT 有什么区别?** + +A(要点): +``` +CMD: +- 定义容器默认命令 +- 容器运行时可被覆盖:docker run image_name custom_cmd +- 可以有多个 CMD,只有最后一个生效 + +ENTRYPOINT: +- 定义容器的可执行程序 +- 容器运行时参数追加而非覆盖 +- 与 CMD 配合使用 + +推荐用法: +ENTRYPOINT ["python", "app.py"] +CMD ["--port", "8000"] + +# 运行 docker run image --debug 会执行: +# python app.py --debug +``` + +#### 网络和存储面试题 + +**Q6: Docker 网络驱动的区别?** + +A(要点): +``` +Bridge(默认): +- 虚拟网桥,容器间通过网桥通信 +- 支持端口映射 +- 隔离性好,性能适中 + +Host: +- 使用宿主机网络栈 +- 性能最优,隔离性最差 +- 容器端口直接映射到宿主机 + +Overlay: +- 跨主机通信,基于 VXLAN +- Swarm 和 Kubernetes 标准 +- 性能略低,支持分布式 + +macvlan: +- 容器获得 MAC 地址 +- 表现为物理机,性能好 +- 用于物理网络集成 + +None: +- 无网络,完全隔离 +``` + +**Q7: Volume 和 Bind Mount 有什么区别?** + +A(要点): +``` +Volume: +- Docker 管理,存储位置:/var/lib/docker/volumes/ +- 跨平台兼容,隔离性好 +- 支持驱动,可扩展 +- 推荐在生产环境使用 + +Bind Mount: +- 宿主机管理,任意位置 +- 跨平台兼容性一般 +- 性能好,用于开发环境 +- 权限管理复杂 + +tmpfs: +- 内存文件系统,不持久化 +- 用于临时文件、敏感数据 +- 性能最好,重启丢失 +``` + +#### 安全和生产面试题 + +**Q8: 如何提高 Docker 安全性?** + +A(要点): +``` +镜像安全: +- 使用官方镜像或可信镜像源 +- 定期扫描漏洞(Trivy/Grype) +- 镜像签名验证(Cosign) +- 生成和管理 SBOM + +容器运行: +- 以非 root 用户运行 +- 使用 read-only 文件系统 +- 限制 Linux 能力 +- 使用 AppArmor 或 SELinux + +宿主机安全: +- 启用 TLS 认证 API +- 不暴露 /var/run/docker.sock +- 使用 Rootless 容器 +- 定期更新 Docker + +网络安全: +- 使用自定义网络隔离 +- 配置网络策略 +- 限制出入站流量 +``` + +**Q9: 容器被 OOM 杀死,如何诊断和解决?** + +A(要点): +``` +诊断: +1. 检查容器是否被 OOM 杀死: + docker inspect | grep OOMKilled + +2. 查看宿主机日志: + dmesg | grep -i oom + journalctl -u docker | grep -i oom + +3. 监控内存使用: + docker stats + docker exec ps aux --sort=-%mem + +解决: +1. 增加内存限制: + docker update -m 2g + +2. 检查内存泄漏: + 使用内存分析工具(heapdump、pprof) + +3. 优化应用: + - 增加垃圾回收频率 + - 减少缓存大小 + - 使用对象池模式 + +4. 使用内存交换(最后手段): + docker run -m 512m --memory-swap 1g +``` + +**Q10: 如何在 CI/CD 中集成 Docker?** + +A(要点): +``` +构建阶段: +- 触发器:Push / PR 事件 +- 构建镜像:docker build +- 标记:git sha、版本号 +- 扫描:Trivy 漏洞扫描 +- 签名:Cosign 镜像签名 + +存储阶段: +- 推送到镜像仓库:docker push +- 记录 SBOM 和扫描报告 + +部署阶段: +- 验证镜像签名 +- 获取镜像摘要 +- 更新部署配置 +- 触发 GitOps 工作流 + +监控阶段: +- 收集应用日志 +- 监控性能指标 +- 告警异常情况 + +示例工作流: +1. GitHub Actions / GitLab CI 监听 push +2. 运行单元测试 +3. 构建 Docker 镜像 +4. 推送到 Docker Hub / ECR +5. 触发 ArgoCD / Flux 自动部署 +6. 监控部署状态 +``` + +### 学习进度跟踪模板 + +```markdown +# Docker 学习进度跟踪 + +## 第一阶段:基础入门(目标:2 周) +- [ ] 学完第 1-3 章(6 小时) +- [ ] 完成基础命令练习(10 小时) +- [ ] 运行官方镜像 +- [ ] 创建和推送第一个镜像到 Docker Hub +- [ ] 完成度:___% + +## 第二阶段:核心开发(目标:4-6 周) +- [ ] 学完第 4-11 章(15 小时) +- [ ] 完成 3 个 Dockerfile 最佳实践项目 +- [ ] 掌握 Docker Compose(5 个项目) +- [ ] 学习数据管理和网络(8 小时) +- [ ] 完成度:___% + +## 第三阶段:生产优化(目标:6-12 周) +- [ ] 学完第 12-21 章(25 小时) +- [ ] 镜像安全扫描和签名 +- [ ] 搭建完整监控栈 +- [ ] 配置 CI/CD 流程 +- [ ] Kubernetes 基础(30 小时) +- [ ] 完成度:___% + +## 第四阶段:专家深造(目标:12+ 周) +- [ ] Kubernetes 高级特性 +- [ ] 服务网格学习 +- [ ] 底层实现研究 +- [ ] 贡献开源项目 +- [ ] 完成度:___% + +## 证书目标 +- [ ] Docker DCA 认证 +- [ ] CKA 认证 +- [ ] CKAD 认证 + +## 实战项目清单 +- [ ] Python Web 应用容器化 +- [ ] Node.js 微服务 +- [ ] 数据库容器化 +- [ ] 完整微服务架构 +- [ ] 监控和日志系统 +- [ ] CI/CD 流程实现 +``` + +### 快速参考速查表 + +**常用命令速查:** + +```bash +# 镜像管理 +docker build -t image:tag . # 构建镜像 +docker images # 列出镜像 +docker rmi image:tag # 删除镜像 +docker tag source:tag target:tag # 标记镜像 +docker push registry/image:tag # 推送镜像 +docker pull image:tag # 拉取镜像 +docker history image:tag # 查看镜像历史 +docker inspect image:tag # 查看镜像详情 + +# 容器管理 +docker run [OPTIONS] image # 运行容器 +docker ps [-a] # 列出容器 +docker stop/start/restart container # 容器生命周期 +docker rm container # 删除容器 +docker logs [-f] container # 查看日志 +docker exec -it container cmd # 进入容器 +docker inspect container # 查看容器详情 +docker stats [container] # 查看资源使用 + +# 网络管理 +docker network ls # 列出网络 +docker network create name # 创建网络 +docker network connect/disconnect # 连接/断开网络 +docker network inspect name # 查看网络详情 + +# 卷管理 +docker volume ls # 列出卷 +docker volume create name # 创建卷 +docker volume rm name # 删除卷 +docker volume inspect name # 查看卷详情 + +# Docker Compose +docker-compose up [-d] # 启动服务 +docker-compose down # 停止服务 +docker-compose ps # 列出服务 +docker-compose logs [-f] [service] # 查看日志 +docker-compose exec service cmd # 在服务中执行命令 +docker-compose build # 构建服务镜像 +```