IDEA2023连接服务器docker并部署ruoyi-cloud-plus项目

2024-04-08 18:36

本文主要是介绍IDEA2023连接服务器docker并部署ruoyi-cloud-plus项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • TCP 方式连接docker
    • 1. 服务器docker配置修改
      • 查看虚拟机中Docker配置文件位置
      • 修改配置文件
      • 重启docker服务
      • 关闭防火墙
    • 2. idea安装docker插件
    • 3. idea连接docker服务
  • 部署ruoyi-cloud-plus项目
    • 1. 项目环境说明
    • 2. 安装Centos7
    • 3. 安装docker
    • 4. idea配置服务器SSH连接
    • 5. idea配置服务器FTP连接
    • 6. docker连接并部署后端项目
      • 拉取项目
      • 将配置使用FTP上传到根目录
      • 给docker文件夹分配权限
      • 构建基础服务
      • 构建应用镜像
      • 构建nacos服务
      • 将Nacos文件导入到数据库
      • 构建中心服务
      • 创建业务服务
    • 7.docker部署前端
      • 配置域名
      • 执行打包命令
      • 更改后端代理路径或者后端ip地址
        • 更改代理路径(注意: /开头/结尾)
        • 路径对应前端环境文件
        • 更改后端ip地址


idea连接docker有两种方式:一是TCP方式,二是SSH方式。本案例我们采用TCP方式连接。

本案例部署的项目:ruoyi-cloud-plus 微服务项目

部署环境采用虚拟机:192.168.187.111


TCP 方式连接docker

1. 服务器docker配置修改

查看虚拟机中Docker配置文件位置

systemctl show --property=FragmentPath docker

修改配置文件

vi /usr/lib/systemd/system/docker.service

在这里插入图片描述

# 添加远程Api启动命令
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重启docker服务

systemctl daemon-reload
systemctl restart docker

关闭防火墙

查看运行状态:systemctl status firewalld
关闭防火墙服务:systemctl stop firewalld
重启虚拟机也禁用防火墙:systemctl disable firewalld.service

2. idea安装docker插件

File->Settings->Plugins
在这里插入图片描述
up主使用的是idea 2023.3.2版本,软件已经自带docker插件。

3. idea连接docker服务

在这里插入图片描述
此时我们在service控制台中可以看到【快捷键alt+8】
在这里插入图片描述
双击docker 即可连接上。

部署ruoyi-cloud-plus项目

1. 项目环境说明

推荐使用 docker 安装 项目内置 docker 编排文件

注意: 需要使用 openjdk 或者 graalvm 运行程序 禁止使用 oraclejdk(由于spring的bug导致打包运行会报错)
graalvm 是oracle旗下的高性能jdk 下载地址: https://github.com/graalvm/graalvm-ce-builds/releases

  • openjdk-17/21 或 graalvm-community-jdk-17/21版本
  • mysql 5.7 8.0 (5.6未适配可能会有问题)
  • oracle 11g 12c
  • postgres 13 14
  • redis 5.X 6.X 7.X 由于框架大量使用了redis特性 版本必须 >= 5.X (win redis 下载地址)
  • minio 本地文件存储 或 阿里云 腾讯云 七牛云等一切支持S3协议的云存储
  • maven >= 3.8.X
  • nodejs 18(18以上未测试 不建议使用)
  • npm 8.X (7.X确认有问题)
  • idea 2022 2024 (一定不要使用2023后果自负 bug太多影响项目开发)
  • nacos >= 2.X(框架1.3.0内置nacos)
  • sentinel 框架内置
  • seata 框架内置

2. 安装Centos7

VMware安装Centos7系统

3. 安装docker

  • 安装docker
  • 安装docker-compose

在线安装docker

4. idea配置服务器SSH连接

进入 Settings -> Tools -> SSH Configurations 点击加号创建SSH连接配置
填写 服务器IP 用户名 密码 端口号 点击 Test Connection 测试连接
image.png使用Terminal 工具 点击箭头找到上方创建的SSH连接配置
选择即可进入SSH连接界面 在这里可以对服务器进行命令操作
image.png

5. idea配置服务器FTP连接

进入 Settings -> Build-> Deployment 点击加号 选择SFTP 创建 FTP 连接配置
选择之前创建好的SSH配置 点击 Test Connection 测试连接
image.png
在IDEA上方工具栏 找到 Tools -> Deployment -> Browse Remote Host 打开远程界面
点击箭头找到我们上方配置的SFTP连接配置 即可连接到服务器的文件目录
image.png
配置成功后,可以直接从左侧的项目中拖拽需要的文件到右侧远程服务器的目录中。

6. docker连接并部署后端项目

拉取项目

ruoyi-cloud-plus 微服务项目,并用idea打开。

将配置使用FTP上传到根目录

注意:修改项目中docker文件夹下docker-compose.yml文件
image.png

给docker文件夹分配权限

chmod -R 777 /docker

重点注意: 一定要确保目录 /docker 及其所有子目录 具有写权限 如果后续出现权限异常问题 重新执行一遍分配权限。

构建基础服务

cd /docker
docker-compose up -d mysql nginx-web redis minio 

构建应用镜像

1、修改项目中配置文件
将mysql、redis,nacos,minio 等地址进行修改。

2、将sql/ry-plus-cloud.sql、ry-plus-config.sql、ry-plus-job.sql、ry-plus-seata.sql导入到MySQL数据库。

3、跳过test并clean打包
image.png

构建nacos服务

在这里插入图片描述

在这里插入图片描述
此时已经构建好镜像,启动即可。

docker-compose up -d nacos

将Nacos文件导入到数据库

将config/nacos/xxxx.yml文件复制到nacos环境中(注意是dev)

构建中心服务

同上述步骤将seata-server、sentinel、ruoyi-monitor、ruoyi-xxl-job-admin镜像构建出来。
在这里插入图片描述

docker-compose up -d seata-server sentinel ruoyi-monitor ruoyi-xxl-job-admin

创建业务服务

同上述步骤将ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-resource镜像构建出来。
在这里插入图片描述

docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-system ruoyi-resource

7.docker部署前端

配置域名

# 修改文件
vi /etc/hosts# 最后一行追加
192.168.187.111 sea.server.com

执行打包命令

npm run build:prod

打包后生成打包文件在 ruoyi-ui/dist 目录
将 dist 目录下文件(不包含 dist 目录) 上传到部署服务器 docker/nginx/html 目录下(手动部署放入自己配置的路径即可)
在这里插入图片描述
重启 nginx 服务即可

更改后端代理路径或者后端ip地址

更改代理路径(注意: /开头/结尾)

image.png

路径对应前端环境文件

image.png

更改后端ip地址

image.png

至此我们 ruoyi-cloud-plus项目部署完毕。可以在浏览器访问。


如果有收获! 希望老铁们来个三连,点赞、收藏、转发。
创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客

这篇关于IDEA2023连接服务器docker并部署ruoyi-cloud-plus项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886250

相关文章

mybatis-plus如何根据任意字段saveOrUpdateBatch

《mybatis-plus如何根据任意字段saveOrUpdateBatch》MyBatisPlussaveOrUpdateBatch默认按主键判断操作类型,若需按其他唯一字段(如agentId、pe... 目录使用场景方法源码方法改造首先在service层定义接口service层接口实现总结使用场景my

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID