什么是 docker-compose.yml?
docker-compose.yml 是 Docker Compose 工具使用的 YAML 格式配置文件,用于定义和运行多容器 Docker 应用程序。通过一个文件,你可以配置应用所需的所有服务、网络、卷等资源。
基本结构示例
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
常用字段说明
- version:指定 Compose 文件格式版本。
- services:定义各个服务(容器)及其配置。
- image / build:指定镜像或构建上下文。
- ports:端口映射,如
"8080:80"。 - volumes:挂载数据卷或绑定宿主机目录。
- environment:设置环境变量。
- networks / volumes:顶层定义共享网络和持久化卷。
最佳实践建议
- 使用明确的镜像标签(如
nginx:1.25而非latest)。 - 将敏感信息通过
.env文件或 secrets 管理。 - 合理使用命名卷而非直接绑定路径以提高可移植性。
- 为每个服务添加健康检查(healthcheck)提升稳定性。