当前位置: 首页 > article >正文

Linux环境下用Docker Compose一键部署RuoYi-Cloud(附完整配置文件和脚本)

Linux环境下用Docker Compose高效部署RuoYi-Cloud微服务系统在当今快速迭代的软件开发环境中微服务架构因其灵活性和可扩展性受到广泛青睐。RuoYi-Cloud作为一款基于Spring Cloud的微服务快速开发框架为开发者提供了开箱即用的解决方案。本文将详细介绍如何利用Docker Compose在Linux环境下实现RuoYi-Cloud的一键式部署大幅提升部署效率。1. 环境准备与基础配置部署RuoYi-Cloud前确保您的Linux系统满足以下基本要求操作系统推荐使用CentOS 7/8或Ubuntu 18.04/20.04 LTS版本Docker引擎版本不低于20.10.7Docker Compose版本不低于v2.2.3硬件资源至少4GB内存20GB磁盘空间提示可通过docker --version和docker-compose version命令验证当前安装版本对于尚未安装Docker环境的用户可执行以下快速安装命令以CentOS为例# 安装必要工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker引擎 sudo yum install -y docker-ce docker-ce-cli containerd.io # 启动Docker服务 sudo systemctl start docker sudo systemctl enable docker # 安装Docker Compose sudo curl -L https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose2. 项目结构与配置文件解析RuoYi-Cloud采用标准的微服务架构设计主要包含以下核心组件服务名称端口功能描述ruoyi-gateway8080API网关服务ruoyi-auth9200认证授权中心ruoyi-system9201系统管理模块ruoyi-nacos8848服务注册与配置中心ruoyi-redis6379缓存服务ruoyi-mysql3306数据库服务项目目录结构关键说明ruoyi-cloud/ ├── docker/ # Docker部署相关文件 │ ├── config/ # 各服务配置文件 │ ├── deploy.sh # 部署脚本 │ ├── copy.sh # 文件拷贝脚本 │ └── docker-compose.yml # 核心编排文件 ├── ruoyi-modules/ # 业务模块代码 └── sql/ # 数据库初始化脚本docker-compose.yml文件是整个部署的核心其定义了服务间的依赖关系和资源配置。以下是关键配置片段version: 3.8 services: ruoyi-mysql: image: mysql:8.0.28 container_name: ruoyi-mysql ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ry-cloud volumes: - ./mysql/data:/var/lib/mysql - ./sql:/docker-entrypoint-initdb.d3. 自动化部署流程实现3.1 一键部署脚本解析项目提供的deploy.sh脚本实现了分阶段部署策略#!/bin/bash # 基础服务部署 if [ $1 base ]; then docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos echo 基础服务(mysql/redis/nacos)部署完成 # 业务模块部署 elif [ $1 modules ]; then docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-system echo 业务模块(gateway/auth/system)部署完成 # 全量部署 else docker-compose up -d echo 全量服务部署完成 fi执行部署的典型流程克隆项目仓库git clone https://gitee.com/y_project/RuoYi-Cloud.git cd RuoYi-Cloud构建项目镜像mvn clean package -DskipTests ./docker/copy.sh分阶段部署# 部署基础服务 cd docker chmod x deploy.sh ./deploy.sh base # 等待基础服务就绪后部署业务模块 ./deploy.sh modules注意Nacos服务完全启动可能需要1-2分钟建议通过docker logs ruoyi-nacos确认服务状态后再部署业务模块3.2 常见问题排查指南部署过程中可能遇到的典型问题及解决方案MySQL连接失败检查application.yml中的数据库配置确认MySQL容器日志是否有错误输出验证网络连通性docker exec -it ruoyi-mysql mysql -uroot -pNacos配置加载异常访问http://宿主机IP:8848/nacos确认控制台可用检查ruoyi-system-dev.yml中的Redis和MySQL配置确认配置文件的命名空间与项目中配置一致服务注册失败验证各服务的bootstrap.yml中Nacos地址配置检查网络是否互通docker network inspect ruoyi-cloud_default4. 生产环境优化建议对于正式生产环境部署建议进行以下优化配置资源限制与健康检查services: ruoyi-gateway: deploy: resources: limits: cpus: 1 memory: 1G healthcheck: test: [CMD, curl, -f, http://localhost:8080/actuator/health] interval: 30s timeout: 10s retries: 3日志收集方案使用ELK或LokiPromtailGrafana搭建日志系统配置Docker日志驱动docker-compose --log-driverjson-file --log-opt max-size10m --log-opt max-file3高可用配置Nacos集群部署至少3节点Redis哨兵或集群模式MySQL主从复制安全加固措施修改默认密码MySQL root、Redis、Nacos配置TLS加密通信限制不必要的端口暴露5. 监控与维护实践完善的监控体系是保障微服务稳定运行的关键。推荐采用以下监控方案基础资源监控使用docker stats实时查看容器资源占用部署PrometheusGrafana监控主机和容器指标业务指标监控Spring Boot Actuator端点监控SkyWalking或Zipkin分布式追踪日常维护命令参考# 查看服务状态 docker-compose ps # 查看特定容器日志 docker logs -f ruoyi-gateway # 进入容器调试 docker exec -it ruoyi-mysql bash # 服务扩缩容 docker-compose up -d --scale ruoyi-system3 # 更新服务修改配置后 docker-compose up -d --force-recreate ruoyi-gateway在实际项目部署中我们发现在高并发场景下适当调整Gateway的堆内存参数能显著提升性能。可以通过修改docker-compose.yml中的环境变量实现environment: JAVA_OPTS: -Xms512m -Xmx1024m -XX:MaxMetaspaceSize256m对于需要频繁更新的业务模块建议建立CI/CD流水线实现代码提交后自动构建镜像并滚动更新服务。这可以通过GitHub Actions或Jenkins等工具配合Docker Registry实现。

相关文章:

Linux环境下用Docker Compose一键部署RuoYi-Cloud(附完整配置文件和脚本)

Linux环境下用Docker Compose高效部署RuoYi-Cloud微服务系统 在当今快速迭代的软件开发环境中,微服务架构因其灵活性和可扩展性受到广泛青睐。RuoYi-Cloud作为一款基于Spring Cloud的微服务快速开发框架,为开发者提供了开箱即用的解决方案。本文将详细介…...

收藏!算法工程师入门到高薪天花板学习指南(小白程序员必看)

算法工程师月薪中位数近2.5万元,高端岗位月薪达5万元,顶尖人才年薪可达128万起。这是AI领域的"硬核"岗位,也是卷得最厉害的方向。一、什么是算法工程师?1.1 定义与职责 算法工程师:负责设计、训练和优化机器…...

收藏必备!小白程序员轻松入门大模型核心引擎:AI Agent、MCP与Skill全解析

1. AI Agent:智能决策的核心引擎1.1 AI Agent的定义与核心功能 AI Agent(人工智能体)是一种具备自主决策能力的智能系统,它以大型语言模型(LLM)为核心,能够主动感知环境、分析问题、规划行动并执行任务。与传统被动响应…...

python chatTts实现tts文本转语音、音频

文章目录步骤其他文档edge-tts没有实现精确控制,所以再试试chatTts。这是一个开源项目,更容易把控。步骤 推荐从git项目开始做示例,比从头搭建方便很多。 1、pycharm新建 | 来自版本控制的项目 | 项目名称填chatTts-demo-git,地…...

VNC远程控制进阶玩法:用手机监控Ubuntu服务器状态+实时调试(2024实测版)

VNC远程控制进阶玩法:用手机监控Ubuntu服务器状态实时调试(2024实测版) 在物联网和服务器运维领域,移动端远程控制正从"锦上添花"变成"刚需工具"。想象这样的场景:凌晨三点收到服务器告警&#xf…...

AntDesign栅格系统进阶:从Row/Col到Flex布局的实战迁移

1. 为什么需要从Row/Col迁移到Flex布局? AntDesign的24栏栅格系统(Row/Col)确实帮我们解决了很多布局问题,但最近在重构一个后台管理系统时,我遇到了几个头疼的场景:需要实现动态伸缩的侧边栏、不规则卡片瀑…...

Qwen-Image RTX4090D镜像高算力适配:支持FP16+FlashAttention-2加速Qwen-VL推理

Qwen-Image RTX4090D镜像高算力适配:支持FP16FlashAttention-2加速Qwen-VL推理 1. 镜像概述与核心优势 Qwen-Image定制镜像是专为RTX 4090D高算力环境打造的大模型推理解决方案。基于官方Qwen-Image基础镜像深度优化,预装了完整的CUDA 12.4生态与Qwen-…...

Qwen3-32B-Chat惊艳效果展示:4090D上FP16/4bit多精度推理生成实测作品集

Qwen3-32B-Chat惊艳效果展示:4090D上FP16/4bit多精度推理生成实测作品集 1. 开箱即用的高性能推理体验 Qwen3-32B-Chat作为当前最先进的开源大语言模型之一,在RTX 4090D显卡上的表现令人印象深刻。这个经过深度优化的私有部署镜像,让普通开…...

STM32F103C8T6最小系统板实战:从零搭建标准库工程模板

1. STM32F103C8T6最小系统板简介 STM32F103C8T6最小系统板是一款基于ARM Cortex-M3内核的入门级开发板,核心芯片采用ST公司的STM32F103C8T6微控制器。这块板子特别适合初学者学习STM32开发,因为它具备完整的硬件资源但结构简单,价格也非常亲民…...

Qwen-Image RTX4090D镜像参数详解:Qwen-VL加载参数、batch_size、max_length调优

Qwen-Image RTX4090D镜像参数详解:Qwen-VL加载参数、batch_size、max_length调优 1. 镜像环境与基础配置 1.1 硬件与系统环境 基于官方Qwen-Image基础镜像定制优化的RTX4090D专用版本,为视觉语言模型推理提供了完整的硬件支持: GPU配置&a…...

Pixel Dimension Fissioner降本提效实践:替代SaaS文本工具的开源方案

Pixel Dimension Fissioner降本提效实践:替代SaaS文本工具的开源方案 1. 为什么需要开源文本增强工具 在内容创作和营销领域,高质量的文本改写工具已经成为刚需。传统的SaaS文本工具虽然功能强大,但普遍存在以下问题: 高昂的订…...

Z-Image-Turbo-辉夜巫女在运维监控中的应用:自动化生成系统告警可视化报告

Z-Image-Turbo-辉夜巫女在运维监控中的应用:自动化生成系统告警可视化报告 想象一下这个场景:凌晨三点,你的手机被刺耳的告警铃声吵醒。监控大屏上几十条告警信息在闪烁,CPU使用率飙升、内存泄漏、数据库连接池耗尽……你需要在最…...

Youtu-VL-4B-Instruct多场景:保险理赔图像审核+损伤识别+估损建议生成

Youtu-VL-4B-Instruct多场景实战:保险理赔图像审核损伤识别估损建议生成 1. 引言:当AI遇上保险理赔,一场效率革命 想象一下这个场景:一位车主在事故现场拍下车辆受损的照片,上传到保险公司App。几分钟后,…...

Qwen3.5-9B康复医学:动作图识别+康复进度评估+训练调整建议

Qwen3.5-9B康复医学:动作图识别康复进度评估训练调整建议 1. 项目概述 Qwen3.5-9B是基于先进多模态技术的智能康复医学辅助系统,专为康复治疗场景设计。该系统整合了动作识别、进度评估和训练建议三大核心功能,为康复医师和患者提供智能化辅…...

Wan2.1-umt5模型解析:深入理解卷积神经网络(CNN)在其中的作用

Wan2.1-umt5模型解析:深入理解卷积神经网络(CNN)在其中的作用 最近在和一些做多模态模型的朋友交流时,大家经常提到一个话题:现在Transformer架构这么火,是不是卷积神经网络(CNN)就…...

Flux.1-Dev深海幻境开发环境搭建:Git版本控制与协作指南

Flux.1-Dev深海幻境开发环境搭建:Git版本控制与协作指南 你是不是也遇到过这种情况?团队里几个人一起折腾一个AI生成项目,今天你改了下提示词,明天他调整了参数,结果没过几天,谁也说不清哪个版本的代码能生…...

百度网盘秒传工具:浏览器端高效文件转存解决方案

百度网盘秒传工具:浏览器端高效文件转存解决方案 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 什么是百度网盘秒传工具? …...

嵌入式键盘外设模块:轻量级C++硬件抽象组件库

1. 项目概述keyboard_peripheral_modules是一套面向键盘固件开发的轻量级、可移植嵌入式外设模块集合。其设计目标并非构建完整键盘协议栈,而是提供经过工程验证的、与硬件抽象层解耦的基础外设驱动组件——每个模块均以“最小依赖、最大复用”为原则实现&#xff0…...

Argos Translate:企业级离线翻译解决方案与隐私优先架构设计

Argos Translate:企业级离线翻译解决方案与隐私优先架构设计 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate 在数据合规成为全球性挑战的…...

STM32平台ISM330DHCX六轴IMU驱动开发与实战

1. 项目概述ISM330DHCX 是意法半导体(STMicroelectronics)推出的高性能6轴惯性测量单元(IMU),集成高精度3D数字加速度计与3D数字陀螺仪于单一封装内。该器件面向工业控制、无人机姿态解算、可穿戴设备、AR/VR运动追踪及…...

zookeeper集群与分布式锁二

1.分布式锁概述 1.1 什么是分布式锁 1)要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁。 线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。 线程锁只在同一J…...

Qwen-Image惊艳作品集:Qwen-VL生成的30组高质量图文推理链(含错误分析与修正)

Qwen-Image惊艳作品集:Qwen-VL生成的30组高质量图文推理链(含错误分析与修正) 1. 视觉语言模型的惊艳表现 Qwen-VL作为通义千问推出的视觉语言模型,在多模态理解与推理方面展现出令人印象深刻的能力。基于RTX 4090D 24GB显存环境…...

MCP与VS Code插件集成:5个关键配置项+4类高频报错,95%开发者踩过的坑你避开了吗?

第一章:MCP与VS Code插件集成教程 如何实现快速接入MCP(Model Control Protocol)是一种轻量级、面向大模型服务编排的通信协议,专为本地开发环境与AI服务端协同而设计。VS Code 作为主流开发者工具,通过官方扩展机制可…...

零代码部署LFM2.5-1.2B-Thinking:ollama图文指南

零代码部署LFM2.5-1.2B-Thinking:ollama图文指南 1. 为什么你需要一个“口袋里的思考伙伴”? 想象一下这个场景:你正在写一份项目方案,思路卡住了,需要一个能快速帮你梳理逻辑、提供灵感的助手。你不想把未成形的想法…...

别再混淆了!一文讲清NTLMv1、NTLMv2哈希的区别与各自的破解方法(附Hashcat/John命令)

深入解析NTLMv1与NTLMv2哈希:从原理到实战破解 在Windows网络认证体系中,NTLM协议作为经典的身份验证机制,至今仍广泛应用于企业内网环境。许多安全从业者在渗透测试或安全评估过程中,常会遇到需要破解NTLM哈希的情况。然而&#…...

Fish-Speech 1.5实战体验:无需配置音素,直接输入文字生成语音

Fish-Speech 1.5实战体验:无需配置音素,直接输入文字生成语音 1. 颠覆传统TTS的全新体验 过去使用语音合成工具时,最令人头疼的环节莫过于音素配置。无论是XTTS还是CosyVoice,都需要繁琐的音素转换步骤:安装g2p工具、…...

VideoAgentTrek-ScreenFilter一键部署教程:基于Node.js的环境配置与快速启动

VideoAgentTrek-ScreenFilter一键部署教程:基于Node.js的环境配置与快速启动 你是不是也遇到过这种情况:想快速体验一个酷炫的AI视频处理项目,结果被复杂的依赖安装和环境配置搞得头大?尤其是那些基于Node.js的项目,版…...

移动宽带也能玩转远程桌面?手把手教你用IPv6直连家里电脑(含防火墙设置避坑指南)

移动宽带用户如何通过IPv6实现高效远程桌面连接 1. IPv6远程桌面连接的基础原理与优势 IPv6作为下一代互联网协议,其128位地址长度彻底解决了IPv4地址枯竭问题。对于移动宽带用户而言,IPv6的最大价值在于每个联网设备都能获得独立的公网地址,…...

ComfyUI文生图新体验:Nunchaku FLUX.1-dev镜像,一键生成惊艳视觉作品

ComfyUI文生图新体验:Nunchaku FLUX.1-dev镜像,一键生成惊艳视觉作品 还在为配置复杂的ComfyUI环境而头疼吗?想体验最新的FLUX.1-dev模型,却被繁琐的插件安装和模型下载劝退?今天,我要分享一个堪称“懒人福…...

如何重构传统定位技术:下一代UWB室内定位系统实战指南

如何重构传统定位技术:下一代UWB室内定位系统实战指南 【免费下载链接】UWB-Indoor-Localization_Arduino Open source Indoor localization using Arduino and ESP32_UWB tags anchors 项目地址: https://gitcode.com/gh_mirrors/uw/UWB-Indoor-Localization_Ar…...