什么是 Docker Compose?
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件(通常命名为 docker-compose.yml),你可以配置应用程序的服务、网络、卷等,然后使用一条命令即可启动整个应用栈。
基本结构示例
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:从 Dockerfile 构建镜像。
- ports:端口映射(宿主机:容器)。
- volumes:挂载数据卷或绑定挂载。
- environment:设置环境变量。
- depends_on:定义服务启动依赖关系。
- networks:自定义网络配置。
最佳实践建议
- 使用明确的镜像标签(如 nginx:1.25 而非 latest)
- 将敏感信息通过 .env 文件或 secrets 管理
- 合理使用命名卷(named volumes)而非匿名卷
- 在开发环境中启用 restart: unless-stopped 提高稳定性