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