Docker Compose配置文件详解
本文介绍了Docker Compose配置文件的架构与服务配置规范。配置文件由version、services、networks和volumes四大模块构成:version指定文件格式版本,services定义容器服务,networks配置网络,volumes声明数据卷。服务配置支持多种参数,核心配置项包括:
1. **build**:指定Dockerfile构建路径和参数,支持context/dockefile指定构建上下文,可通过args传递构建参数,3.4+版本引入target参数指定构建阶段;
2. **deploy**:Swarm集群专属配置,包含replicas副本数、placement节点约束、update_config滚动更新策略及restart_policy重启策略;
3. **depends_on**:定义服务依赖关系,控制启动/停止顺序,但不保证依赖服务完全就绪后再启动;
4. **网络与端口**:服务通过networks关联网络,ports配置端口映射;
5. **资源控制**:cap_add/drop调整内核能力,resources限制资源使用。
需注意在Swarm模式下,build、cap_add/drop等配置项将被忽略。配置文件结构示例展示了投票应用的复杂拓扑,包含Redis、数据库、可视化组件等服务的部署参数与约束条件。