⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

10.3 一键启动所有服务——Docker Compose 编排:多服务协同

一个命令,启动整个应用栈。

为什么需要 Docker Compose

当你的应用不只有一个容器时(前端 + 后端 + 数据库 + 缓存),手动一个个启动既繁琐又容易出错。Docker Compose 让你用一个 YAML 文件定义所有服务,然后一键启动。

核心优势

特性说明
声明式配置用 YAML 描述期望状态,而非命令序列
一键操作up 启动、down 停止、restart 重启
依赖管理自动按顺序启动有依赖关系的服务
网络隔离自动创建专属网络,服务间用名称通信
环境一致开发和生产使用相同的编排文件

典型应用栈

yaml
# docker-compose.yml
services:
  frontend:    # Next.js 前端
  api:         # NestJS 后端
  postgres:    # PostgreSQL 数据库
  redis:       # Redis 缓存
  nginx:       # 反向代理

本节目录

  • 10.3.1 编排文件怎么写 — Compose 文件结构详解
  • 10.3.2 服务之间如何对话 — 网络与数据卷配置
  • 10.3.3 开发和生产用一套配置吗 — 多环境配置策略
  • 10.3.4 服务挂了能自动重启吗 — 健康检查与自愈

常用命令速查

命令作用
docker compose up -d后台启动所有服务
docker compose down停止并删除容器
docker compose ps查看服务状态
docker compose logs -f实时查看日志
docker compose restart api重启指定服务
docker compose pull拉取最新镜像
docker compose build构建自定义镜像

快速上手

bash
# 1. 创建 docker-compose.yml
# 2. 启动所有服务
docker compose up -d

# 3. 查看状态
docker compose ps

# 4. 查看日志
docker compose logs -f api

# 5. 停止服务
docker compose down

版本说明

Docker Compose V2 已集成到 Docker CLI,命令从 docker-compose 变为 docker compose(去掉了连字符)。