强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Docker Compose 完全指南

Docker Compose 完全指南

一条命令,编排整个应用。

Docker Compose 是 Docker 官方提供的多容器编排工具,通过一个 YAML 文件定义和管理多个容器化服务,是现代开发、测试、CI/CD 乃至轻量生产环境的核心基础设施。


为什么写这份指南?

  • 网上资料碎片化严重,版本混杂(V1 / V2 / Compose Specification)
  • 官方文档偏重 API 参考,缺乏业务场景驱动的系统讲解
  • 很多团队会用 Compose,但不会用好 Compose

本教程共 15 章,每章 200–500 行,力求可读、可运行、可落地


读者对象

层级 你可能是… 能获得什么
初学者 刚接触 Docker,想编排多容器 系统入门,建立正确心智模型
中级开发者 已有 Compose 经验,想更进一步 网络、卷、环境管理、多环境方案
DevOps / SRE 需要生产级编排与可观测性 Swarm 部署、日志、监控、CI/CD 集成

章节目录

章节 主题 关键词
第 1 章 · 简介 Compose 概念、版本演进、vs Kubernetes 概念入门
第 2 章 · 安装 安装方式、V2 vs V1、验证 环境准备
第 3 章 · 基础 services / image / ports / volumes 基础语法
第 4 章 · 网络 默认网络、自定义网络、外部网络 网络隔离
第 5 章 · 数据卷 named volumes / bind mounts / tmpfs 持久化
第 6 章 · 环境变量 .env / environment / env_file 配置管理
第 7 章 · 依赖与健康检查 depends_on / healthcheck / restart 启动顺序
第 8 章 · 构建 build context / Dockerfile / 多阶段构建 自定义镜像
第 9 章 · 多环境管理 override 文件 / profiles / 变量替换 多环境
第 10 章 · 敏感信息 secrets / configs / Docker Secrets 安全管理
第 11 章 · Swarm 部署 deploy / replicas / update_config 容器编排
第 12 章 · 日志 logging driver / 集中式日志 日志治理
第 13 章 · 监控 cAdvisor / Prometheus / Grafana 可观测性
第 14 章 · 故障排查 常见问题 / 调试技巧 问题解决
第 15 章 · 最佳实践 项目结构 / 生产规范 / CI/CD 工程规范

环境要求

工具 最低版本 推荐版本
Docker Engine 20.10+ 26.x
Docker Compose V2 (2.20+) 最新版 (作为 Docker CLI 插件)
操作系统 Linux / macOS / Windows (WSL2) Linux (Ubuntu 22.04+)

约定说明

  • 所有示例均经过实际验证,可直接复制运行
  • 代码块标注语言类型:yamlbashdockerfile
  • 关键概念用 粗体 标注,术语首次出现附英文
  • ⚠️ 标记表示注意事项/易踩坑点
  • 💡 标记表示最佳实践/实用技巧

快速开始

如果你已经安装了 Docker,可以立即体验:

# 创建项目目录
mkdir my-first-compose && cd my-first-compose

# 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
  redis:
    image: redis:7-alpine
EOF

# 启动所有服务
docker compose up -d

# 查看运行状态
docker compose ps

# 清理
docker compose down

扩展阅读