🐳 Docker Compose 编排实战
为什么需要 Compose
在实际项目中,一个应用往往由多个服务组成:Web 服务器、数据库、缓存、消息队列等。手动管理每个容器的启动顺序、网络连接和环境变量不仅繁琐而且容易出错。Docker Compose 通过一个 YAML 文件定义所有服务的配置,实现一键编排。
核心概念
Compose 围绕三个核心概念:services(服务定义)、networks(网络配置)和 volumes(数据卷)。一个典型的 docker-compose.yml 长这样:
version: '3.8'
services:
web:
build: .
ports:
- "8080:8080"
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: secret
生产环境最佳实践
在生产环境中,建议使用 docker compose up -d 后台运行,配合健康检查确保服务就绪后再启动依赖方。同时使用 restart: always 保证容器异常退出后自动恢复。