news 2026/5/21 2:38:39

别再到处找教程了!用Docker Compose一键部署RuoYi-Cloud微服务全家桶(含Nacos 2.x + Sentinel)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再到处找教程了!用Docker Compose一键部署RuoYi-Cloud微服务全家桶(含Nacos 2.x + Sentinel)

用Docker Compose三分钟搭建RuoYi-Cloud微服务全家桶

在微服务架构盛行的当下,Spring Cloud Alibaba生态已成为企业级开发的热门选择。RuoYi-Cloud作为基于该生态的权限管理系统,集成了Nacos、Sentinel等核心组件,但传统部署方式需要逐个安装配置十余个服务,对开发者极不友好。本文将演示如何通过Docker Compose实现"一条命令启动全家桶",让环境搭建从小时级缩短到分钟级。

1. 环境架构设计

RuoYi-Cloud的标准部署包含以下核心服务:

  • 基础服务层:MySQL 5.7、Redis 6
  • 注册中心:Nacos 2.1.0
  • 流量治理:Sentinel 1.8.0
  • 应用服务
    • RuoYi-Gateway(网关)
    • RuoYi-Auth(认证中心)
    • RuoYi-System(系统模块)
    • RuoYi-Monitor(监控中心)
  • 前端服务:Nginx + Vue构建产物

传统部署方式需要手动安装JDK、Node.js、MySQL等基础环境,再逐个启动微服务组件。而容器化方案通过以下设计实现自动化:

version: '3.8' services: nacos: image: nacos/nacos-server:v2.1.0 environment: - MODE=standalone ports: - "8848:8848" redis: image: redis:6-alpine ports: - "6379:6379"

提示:Nacos 2.x版本需要保持8848端口映射,这是控制台默认端口。生产环境建议配置持久化卷。

2. 关键配置解析

2.1 服务依赖管理

微服务启动存在严格顺序要求:

  1. 基础设施(MySQL、Redis)
  2. 注册中心(Nacos)
  3. 监控组件(Sentinel)
  4. 业务服务(按依赖顺序启动)

通过Docker Compose的depends_on和健康检查实现:

ruoyi-gateway: image: ruoyi-cloud-gateway:latest depends_on: nacos: condition: service_healthy redis: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"] interval: 30s

2.2 网络配置技巧

建议创建独立网络避免端口冲突:

docker network create ruoyi-net

在compose文件中声明网络:

networks: ruoyi-net: driver: bridge ipam: config: - subnet: 172.28.0.0/16

服务间通过容器名通信,例如Gateway连接Auth服务:

spring.cloud.nacos.discovery.server-addr=nacos:8848

3. 实战部署流程

3.1 准备部署文件

项目目录结构建议:

ruoyi-cloud-docker/ ├── docker-compose.yml ├── config/ │ ├── nacos/ │ ├── mysql/ ├── sql/ │ └── init.sql └── apps/ ├── gateway.jar ├── auth.jar

关键操作步骤:

  1. 下载官方发布的Docker镜像或自行构建
  2. 初始化数据库脚本放入/docker-entrypoint-initdb.d
  3. 配置Nacos持久化数据卷:
volumes: nacos-data: driver: local

3.2 一键启动命令

启动全部服务并后台运行:

docker-compose up -d

实时查看日志:

docker-compose logs -f ruoyi-gateway

服务状态检查:

docker-compose ps

4. 常见问题排查

4.1 启动超时处理

若服务启动失败,典型原因包括:

  • 数据库连接失败:检查MySQL容器是否正常启动
  • Nacos未就绪:增加服务启动等待时间
environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/ry-cloud?useSSL=false&serverTimezone=UTC SPRING_CLOUD_NACOS_CONNECT_TIMEOUT: 30000

4.2 性能调优建议

开发环境可限制资源使用:

deploy: resources: limits: cpus: '0.5' memory: 512M

生产环境推荐配置:

  • MySQL单独部署物理机
  • Redis启用持久化
  • Nacos集群部署

5. 进阶使用技巧

5.1 动态扩展实例

横向扩展Gateway服务:

docker-compose up -d --scale ruoyi-gateway=3

5.2 版本升级策略

采用蓝绿部署方案:

  1. 构建新版本镜像并推送到仓库
  2. 修改compose文件中的镜像标签
  3. 执行滚动更新:
docker-compose pull && docker-compose up -d

5.3 监控集成方案

Prometheus监控配置示例:

ruoyi-monitor: image: prom/prometheus:v2.30 ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml

配套的Grafana仪表盘可直观展示:

  • JVM内存使用
  • 接口QPS
  • 数据库连接池状态
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 2:33:13

广州商学院转专业政策详解:4次机会与申请条件

每年高考录取阶段,部分考生可能会遇到被非首选专业录取的情况。此外,也有学生在入学后对所学专业产生兴趣变化。针对上述情况,转专业是高校为学生提供的一项常规调整途径。本文基于广州商学院官方发布的2025年本科招生政策,对该校…

作者头像 李华
网站建设 2026/5/21 2:31:03

嵌入式Linux倒车影像系统:从驱动到应用的多线程综合实践

1. 项目概述与核心思路最近在整理一个挺有意思的嵌入式Linux小项目,一个模拟的倒车影像系统。这玩意儿听起来像是汽车上的东西,但本质上是一个集成了传感器、摄像头和显示的嵌入式综合应用,非常适合用来练手,把Linux驱动、应用编程…

作者头像 李华
网站建设 2026/5/21 2:19:36

用TensorRT加速你的YOLOv5:Windows C++推理部署实战(附完整项目配置)

用TensorRT加速YOLOv5:Windows C推理部署全流程解析 在计算机视觉领域,YOLOv5因其出色的实时检测性能广受欢迎。但当我们需要将训练好的模型部署到实际生产环境时,Python的解释执行往往难以满足性能要求。这时,TensorRT作为NVIDIA…

作者头像 李华
网站建设 2026/5/21 2:18:31

一文读懂阴极发光(CL)技术

什么是阴极发光?阴极发光(CL)是电磁波的紫外线(UV)到近红外(NIR)范围内的光或电磁辐射,由电子束的快速电子(阴极射线)产生。当电子束(例如来自扫描…

作者头像 李华
网站建设 2026/5/21 2:18:30

[具身智能-838]:具身智能内部本地小模型完整详解

一、核心定位具身智能分层智控:外部大模型 全局大脑(决策、对话、长任务规划)内部本地小模型 躯体神经中枢(运动、感知、实时控制、本地应急)一句话总结:大模型管想法,内部小模型管肉身行动。…

作者头像 李华