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

news2024/11/24 16:02:00

文章目录

  • 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项目部署完毕。可以在浏览器访问。


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SHAP安装问题

一、安装 pip install shap -i https://pypi.tuna.tsinghua.edu.cn/simple 二、遇到问题 1、提示报错如下: ModuleNotFoundError: No module named numba.core 安装numba: pip install numba -i https://pypi.tuna.tsinghua.edu.cn/simple 提示已经…

【go从入门到精通】作用域,包详解

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C,go等语言开发经验,mysql,mongo,redis等数据库,设计模…

基于React封装Handsontable并兼容antd

背景 其实Handsontable官方也提供了React的版本,但是官方的版本再编辑和渲染的时候并不能够很好的嵌入第三方的组件库。这就导致了,使用了Handsontable就没有办和普通的react项目一样轻松引用其他第三方组件。因此对其react的版本进行了二次的封装&#…

MySQL之sql性能分析

sql执行频率 MySQL客户端连接成功后,通过show[session|global]status命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的所有INSERT、DELETE、UPDATE、SELECT的访问频次。 慢日志查询 慢查询日志记录了所有执行时间超过指定参数(longquer…

石子合并(区间dp)-java

石子合并问题是经典的区间dp问题,我们需要枚举中间端点k的情况从而来推出dp数组的值。 文章目录 前言 一、石子合并问题 二、算法思路 1.问题思路 2.状态递推公式 二、代码如下 代码如下(示例): 2.读入数据 3.代码运行结果如下&am…

CY7.5-COOH荧光属性Cyanine7.5花菁染料

CY7.5-COOH,作为一种Cyanine 7.5花菁染料,在荧光属性上表现出色。其独特的化学结构赋予了它荧光性质,使其在生物标记、荧光成像和光学传感等领域具有诸多应用前景。 CY7.5-COOH具有出色的荧光量子产率,这意味着在激发光的照射下&…

电商市场价格治理的有效方法

监测价格的目的是为了治理价格,品牌在发展过程中必然要做价格管控,否则任由渠道自由生长,最后的结果多是低价不断,且渠道愈发难以管控,所以在电商链接并不多时,也应对渠道进行监测、治理,将渠道…

【学习路径】AI入门路线分享

近期整理飞书文档,一些权限被关掉了。看好多人在申请访问这个飞书文档,于是把它单独拿出来放在CSDN上,供大家参考~ 原视频地址:AI:从小白到入门,超详细人工智能成长路径分享_哔哩哔哩_bilibili 文章目录 1.…

69787987

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

ArcGIS Pro中的3D建模

在本文中,我讲述了我最近一直在探索的在 ArcGIS Pro 中设计 3D 模型的过程。 我的目标是尽可能避免与其他软件交互(即使是专门用于 3D 建模的软件),并利用 Pro 可以提供的可能性。 这个短暂的旅程分为三个不同的阶段:准备、组装和照明。 我们必须使用一些布局可能性以及一…

android平台下opencv的编译--包含扩展模块

由于项目需要使用安卓平台下opencv的扩展库,对于通用的opencv库, opencv官网提供了android的SDK 但未能提供扩展库,因此需要自己进行源码编译。本文记录android平台下opencv及其扩展库的交叉编译。 前提:主机已安装android-ndk交…

泰迪智能科技受邀参加花都区产教评技能生态链建设政策宣讲培训会

2024年4月8日,由广州市花都区人力资源和社会保障局主办的花都区产教评技能生态链建设政策宣讲培训会在广州市华风高级技工学校顺利举行。广东省人力资源和社会保障厅职业能力建设处鲍彬科长,广州市人力资源和社会保障局职业能力建设处肖飞扬科长&#xf…

volta(轻松切换管理Node.js版本)

Node.js版本管理 Volta提供了一个简单直观的命令行界面,可以轻松地安装、卸载、更新和切换Node.js版本。 Volta 既可以全局使用,也可以在项目级别使用,可以为每个项目单独设置node版本,nvm不行。 下载安装Volta 参考: …

JavaScript ECMAScript标准的与时俱进:从ES6至ES14的革新之路与关键技术特性剖析

ECMAScript(通常缩写为ES)是一种标准化的脚本语言规范,由ECMA International(前身为European Computer Manufacturers Association,欧洲计算机制造商协会)制定。自1997年发布首个版本以来,ECMAS…

JavaScript_注释数据类型

JavaScript_语法_注释&数据类型: 1.2注释: 1.单行注释://注释内容 2.多行注释:/*注释内容*/ 1.3数据类型: 1.原始数据类型(基本数据类型):(只有这五种) 1.number:数字…

网络安全知识知多少?

网络安全知识在当今数字化的世界中显得尤为重要。随着网络技术的不断发展和普及,网络安全问题也日益突出,对个人、组织乃至国家的安全都构成了严重威胁。因此,了解并掌握一些基本的网络安全知识显得尤为重要。 首先,我们需要明白网…

第21天:WEB攻防-JavaWeb项目UWT身份攻击组件安全访问控制;第22天:WEB攻防-JS项目Node.JS框架安全识别审计验证绕过

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

利用免费AI开源引擎:实现图像识别技术在多主体检测中的应用|识别万物|本地化部署

在当今快速发展的图像处理领域,图像主体检测技术已成为提升图像分析效率和精度的关键工具。该技术能够自动识别和定位图像中的一个或多个主要对象,并提供其具体的位置坐标和分类标签。这不仅为图像编辑和优化提供了便利,也为后续的图像识别任…

国芯科技(C*Core)车规MCU产品选型与应用

一、MCU市场概述 MCU(Micro Controller Unit)即微控制器,俗称单片机,是把 CPU 的规格与频率做适当缩减,并将ROM、RAM、A/D转换、各式I/O接口以及Timer等功能整合在单一芯片上,形成芯片级的计算机。 根据…

学习记录14-运算放大器2

目录 前言 一、理想放大器 二、虚断 二、虚短 虚短的两个使用条件 1.虚短概念 2.如果我们将运放的同相端和反相端颠倒会怎样呢? 总结 前言 主要讲述运算放大器的虚短虚断 一、理想放大器 如果没有基础或只是想简单了解,可以看我前一篇文章&am…