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实现。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433615.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!