Docker Compose 最适合用来管理由多个容器组成的应用,比如同时需要数据库、缓存和后端服务的场景,通过一个 YAML 文件就能统一控制所有容器的启动和停止。
先说结论:它是多容器应用的“管家”,适合本地开发、测试环境及单机部署场景。
- 适合:需要同时运行数据库、后端、前端等多个服务的场景
- 先看:安装方式推荐用 Docker 插件模式,命令是 docker compose
- 建议:配置文件命名默认为 docker-compose.yml,放在项目根目录
命令速用版
安装后常用命令如下:
docker compose version # 查看版本 docker compose up -d # 后台启动所有服务 docker compose down # 停止并删除容器 docker compose ps # 查看运行状态 docker compose logs -f # 查看日志
为什么会这样
单独使用 docker run 部署多容器应用,需要手动处理网络连接、启动顺序和数据挂载,容易出错且命令冗长。Docker Compose 通过 YAML 文件抽象了服务、网络和卷三大核心要素,允许一条命令完成所有容器的创建、启动、停止和删除,确保环境一致性。
分步处理
1. 安装:推荐通过插件方式安装,CentOS 系统可使用 yum install -y docker-compose-plugin,安装后使用 docker compose 命令。
2. 编写配置:在项目根目录创建 docker-compose.yml,定义 services、networks 和 volumes。
3. 启动服务:执行 docker compose up -d,Compose 会自动创建默认网络并按依赖顺序启动容器。
怎么验证是否生效
执行 docker compose ps 查看容器状态是否为 Up,使用 curl 或浏览器访问映射端口,检查 docker compose logs 确认无报错。
常见坑
1. 版本语法:version 字段在不同版本中要求不同,建议参考官方文档或保持简洁。
2. 网络隔离:Compose 为项目创建默认网络,容器通过服务名互相访问,而非 IP。
3. 数据持久化:容器删除后数据会丢失,需配置 volumes 将数据挂载到宿主机。
参考来源
- Docker Compose 完全指南:从入门到实践
- docker compose 实战指南:从入门到生产 (附命令速查与部署示例)-CSDN 博客
- docker-compose 快速入门及实战 - 阿里云开发者社区
- Docker Compose 入门