Docker Compose的核心是一个YAML格式的配置文件(通常命名为docker-compose.yml)。它通过声明式的方式,一次性定义和管理多容器应用。一个标准的Compose文件通常包含以下四个顶层元素:
服务定义是Compose文件的灵魂,决定了容器的具体行为。以下是日常开发中最常用的配置项:
image: nginx:1.25-alpinebuild: ./api"宿主机端口:容器端口":ports:
- "8080:80" # 将容器的80端口映射到宿主机的8080端口
- "443:443"
environment:
- APP_ENV=production
- DB_HOST=mysql
env_file:
- ./env/production.env # 从外部文件批量加载环境变量
"宿主机路径:容器路径":volumes:
- ./html:/usr/share/nginx/html:ro # :ro 表示只读挂载
- mysql_data:/var/lib/mysql # 使用命名卷持久化数据库数据
depends_on:
- mysql
- redis