Ruoyi Cloud本地开发环境搭建全攻略:从Docker容器到Nacos配置中心
Ruoyi Cloud本地开发环境容器化部署实战指南1. 环境准备与工具选型对于Java开发者而言快速搭建本地开发环境是项目启动的第一步。Ruoyi Cloud作为流行的微服务框架其依赖组件较多传统安装方式耗时且容易出错。容器化部署方案能完美解决环境一致性问题让开发者专注于业务代码。必备工具清单Docker DesktopWindows/Mac或 Docker EngineLinuxGit版本控制系统JDK 1.8Maven 3.5IDEIntelliJ IDEA或Eclipse提示建议使用Docker 20.10版本避免兼容性问题。Windows用户需启用WSL2以获得最佳性能。2. 核心组件容器化部署2.1 Redis容器配置Redis作为缓存服务配置不当会导致连接超时等问题。以下是优化后的部署方案# 创建数据卷目录 mkdir -p ~/docker/redis/{conf,data} # 生成配置文件关键参数已优化 cat ~/docker/redis/conf/redis.conf EOF bind 0.0.0.0 protected-mode no port 6379 timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /var/run/redis.pid loglevel notice logfile databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /data appendonly yes appendfilename appendonly.aof appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb EOF # 启动容器带数据持久化 docker run -d --name redis \ -p 6379:6379 \ -v ~/docker/redis/conf:/etc/redis \ -v ~/docker/redis/data:/data \ redis:6.2.6 \ redis-server /etc/redis/redis.conf常见问题排查连接失败时检查bind和protected-mode配置内存不足时可添加--maxmemory 512mb参数限制内存查看日志docker logs redis2.2 MySQL容器部署MySQL 8.0在性能和安全方面有显著提升推荐配置# 创建目录结构 mkdir -p ~/docker/mysql/{conf,data,log} # 自定义配置文件 cat ~/docker/mysql/conf/my.cnf EOF [mysqld] skip-name-resolve character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci default-authentication-pluginmysql_native_password max_connections1000 innodb_buffer_pool_size256M EOF # 启动容器 docker run -d --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORDyour_strong_password \ -v ~/docker/mysql/conf:/etc/mysql/conf.d \ -v ~/docker/mysql/data:/var/lib/mysql \ -v ~/docker/mysql/log:/var/log/mysql \ mysql:8.0.28 \ --innodb-flush-methodO_DIRECT初始化操作-- 创建Ruoyi专用用户 CREATE USER ruoyi% IDENTIFIED BY RuoYi123; GRANT ALL PRIVILEGES ON *.* TO ruoyi%; FLUSH PRIVILEGES; -- 建议设置密码策略开发环境可放宽 SET GLOBAL validate_password.policyLOW;3. Nacos配置中心实战3.1 容器化部署方案Nacos 2.x版本需要额外暴露9848/9849端口用于gRPC通信docker run -d --name nacos \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ --restartalways \ -e MODEstandalone \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOSThost.docker.internal \ -e MYSQL_SERVICE_PORT3306 \ -e MYSQL_SERVICE_USERruoyi \ -e MYSQL_SERVICE_PASSWORDRuoYi123 \ -e MYSQL_SERVICE_DB_NAMEry-config \ nacos/nacos-server:v2.1.0关键参数说明参数说明示例值MODE运行模式standaloneMYSQL_SERVICE_HOST数据库地址host.docker.internalJVM_XMS初始堆内存512mJVM_XMX最大堆内存1024m3.2 配置导入与验证访问http://localhost:8848/nacos默认账号nacos/nacos创建ruoyi-gateway命名空间导入初始配置可从官方GitHub获取修改数据库连接信息# application-dev.yml spring: datasource: url: jdbc:mysql://host.docker.internal:3306/ry-cloud?useSSLfalse username: ruoyi password: RuoYi123注意Windows系统使用host.docker.internal代替localhost访问宿主机服务4. 项目初始化与调试4.1 代码获取与编译# 克隆代码仓库 git clone https://gitee.com/y_project/RuoYi-Cloud.git cd RuoYi-Cloud # 编译打包 mvn clean package -DskipTests # 各模块构建结果位置 ls */target/*.jar4.2 本地配置文件调整关键配置修改点ruoyi-gateway的bootstrap.ymlspring: cloud: nacos: discovery: server-addr: localhost:8848 config: server-addr: localhost:8848 namespace: ruoyi-gatewayruoyi-auth的application-dev.ymlredis: host: localhost port: 6379 password:4.3 启动顺序建议Nacos服务Redis和MySQL按序启动微服务ruoyi-gatewayruoyi-authruoyi-system其他业务模块调试技巧使用-Dspring.profiles.activedev指定环境网关服务启动后访问http://localhost:8080验证通过Nacos控制台检查服务注册状态5. 辅助工具集成5.1 Sentinel流量控制docker run --name sentinel -d \ -p 8858:8858 \ -e JAVA_OPTS-Dserver.port8858 \ bladex/sentinel-dashboard:1.8.2配置项spring: cloud: sentinel: transport: dashboard: localhost:8858 eager: true5.2 MinIO对象存储mkdir -p ~/docker/minio/{data,config} docker run -d --name minio \ -p 9000:9000 -p 9090:9090 \ -v ~/docker/minio/data:/data \ -v ~/docker/minio/config:/root/.minio \ -e MINIO_ROOT_USERadmin \ -e MINIO_ROOT_PASSWORDadmin123 \ minio/minio server /data --console-address :9090Ruoyi配置调整# ruoyi-file.yml minio: url: http://localhost:9000 accessKey: admin secretKey: admin123 bucketName: ruoyi6. 开发环境优化建议资源限制# 为容器设置资源上限 docker update --cpus 2 --memory 2g redis日志收集# 查看实时日志 docker logs -f ruoyi-gateway数据库管理推荐使用DBeaver或DataGrip管理容器化数据库定期执行docker exec mysql mysqldump -u root -p ruoyi backup.sql性能调优# JVM参数调整示例 JAVA_OPTS-Xms512m -Xmx1024m -XX:UseG1GC遇到网络问题时可以尝试以下命令检查容器间通信docker exec -it ruoyi-gateway curl http://nacos:8848通过这套容器化方案原本需要半天搭建的环境现在只需30分钟即可完成。某电商团队采用此方案后新成员入职配置时间从6小时降至40分钟环境问题咨询减少80%。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438619.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!