什么是 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
depends_on:
- db
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:端口映射(宿主机:容器)。
- volumes:挂载数据卷或绑定宿主机目录。
- environment:设置环境变量。
- depends_on:定义服务启动依赖关系。
最佳实践建议
- 使用明确的镜像标签(如
nginx:1.25而非latest)。 - 将敏感信息通过
.env文件或 secrets 管理。 - 合理使用命名卷(named volumes)以持久化数据。
- 为生产环境分离开发与部署的 compose 文件(如
docker-compose.prod.yml)。