什么是 docker-compose.yml?
docker-compose.yml 是 Docker Compose 使用的配置文件,用于定义和运行多容器 Docker 应用程序。通过一个 YAML 文件,你可以配置服务、网络、卷等资源,并使用一条命令启动整个应用。
基本结构示例
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:14
environment:
POSTGRES_DB: myapp
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:
常用字段说明
- version:指定 Compose 文件格式版本。
- services:定义每个容器服务及其配置。
- image:指定使用的镜像。
- build:替代 image,从 Dockerfile 构建镜像。
- ports:端口映射(宿主机:容器)。
- volumes:挂载数据卷或绑定宿主机目录。
- environment:设置环境变量。
- depends_on:定义服务启动依赖关系。
最佳实践建议
- 使用明确的镜像标签(如
nginx:1.25而非latest)。 - 将敏感信息通过
.env文件或 secrets 管理。 - 合理命名 volume 和 network 以避免冲突。
- 使用
docker-compose config验证 YAML 语法。