Docker Compose 配置解析与实战指南
引言
本文通过实际配置案例,系统讲解Docker Compose的核心用法与操作实践。结合生产级配置模板,深入解析环境变量管理、持久化存储、网络配置等关键技术点,并提供可直接使用的运维命令集合。
配置文件详解
# 服务定义模块
ruoyi_gateway:
# 环境变量配置(推荐使用.env文件管理敏感信息)
env_file:
- .env # 存储数据库连接、API密钥等配置
# 持久化存储配置(配置文件热更新方案)
volumes:
- ./config/ruoyi-gateway/bootstrap.yml:/bootstrap.yml # 主配置文件
- ./config/ruoyi-gateway/bootstrap-nacos.yml:/bootstrap-nacos.yml # 微服务配置
# 镜像配置(建议生产环境使用私有仓库)
image: ruoyi/ruoyi-gateway:zjlcicd # 格式:仓库地址/项目名:标签
# 容器基础配置
container_name: ruoyi_gateway # 明确容器标识
restart: always # 故障自动恢复策略
ports:
- "9098:8080" # 端口映射格式:宿主机端口:容器端口
# 网络配置(实现服务间通信)
networks:
- ruoyi-net # 自定义网络名称
# 网络定义模块
networks:
ruoyi-net:
driver: bridge # 桥接模式(默认跨主机通信方案)
核心配置项说明
-
环境变量管理
.env
文件应包含:DB_HOST=192.168.1.100 API_KEY=xxx_secret_xxx
通过
env_file
加载可避免硬编码敏感信息 -
持久化存储方案
开发环境推荐绑定挂载,通过volumes
将宿主机配置目录映射至容器路径,实现配置文件实时同步。
修改宿主机文件后,执行docker-compose restart
即可快速加载新配置,无需重建镜像,适合开发阶段频繁调试的场景。 -
网络通信机制
自定义网络实现:- 容器间通过服务名直接通信(如
ruoyi_gateway:8080
) - 隔离不同项目的网络环境
- 容器间通过服务名直接通信(如
运维操作手册
基础操作
# 启动服务(自动构建镜像)
docker-compose up -d --build
# 安全停止服务
docker-compose down
# 查看服务状态
docker-compose ps
高级运维
# 实时日志追踪
docker-compose -f docker-compose.yml(或其他yml文件,如果为默认可省略) logs ruoyi_gateway
# 容器内部调试
docker-compose exec ruoyi_gateway /bin/bash
# 资源占用分析
docker stats ruoyi_gateway
灾难恢复
# 强制重建单个服务
docker-compose -f docker-compose.yml(或其他yml文件,如果为默认可省略) up -d --no-deps ruoyi_gateway
评论区