← AI 百科

Docker Compose

部署与运维 · 部署
一句话:用一个配置文件同时启动应用、数据库、缓存、反向代理等多个容器。

它是什么

Docker Compose适合管理多容器应用。比如一个AI网站可能需要Web服务、数据库、Redis、n8n和Nginx,用Compose可以写在一个yaml文件里,一条命令启动、停止和查看日志。

适合干什么

  • 需要同时跑多个服务的人
  • 部署AI工具站、知识库、n8n、数据库的人
  • 想把本地开发环境统一给团队的人
  • 需要可复制部署方案的项目

不适合干什么

  • 只有一个静态页面的项目
  • 完全不需要数据库或后台服务的应用
  • 不熟悉端口、卷、网络概念的人独立维护生产环境
  • 大规模容器编排场景

普通人怎么用

  • 创建docker-compose.yml
  • 为每个服务写镜像、端口、环境变量
  • 用volume保存数据库数据
  • 执行docker compose up启动
  • 用docker compose logs查看日志

进阶用户怎么用

  • 把公共环境变量放到.env
  • 为服务设置depends_on和healthcheck
  • 拆分开发和生产配置
  • 配合Nginx或Caddy做域名访问

常见误区

  • 数据库没有挂载volume,重建后数据丢失
  • 服务名和连接地址写错
  • 端口冲突
  • 把生产密钥提交到GitHub

和相似工具的区别

  • Docker Compose vs Docker:Docker偏单个容器操作,Compose偏多个容器的组合管理。
  • Compose vs Kubernetes:Compose适合小团队和单机部署,Kubernetes适合大规模集群和复杂运维。

入门步骤

  • 列服务
  • 写compose文件
  • 配置端口
  • 配置volume
  • 配置环境变量
  • 启动
  • 查看日志

推荐工具(第三方)

Docker Compose、PostgreSQL、Redis、Nginx、Caddy、n8n