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


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

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

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

相关文章

三天做完pandas数据分析50题第一天

三天做完pandas数据分析50题第一天 第1题 将python的list转换为Series第2题 将字典转换为Series第3题 将Series转换成python的list第4题 使用numpy创建series。第5题 如何为Series添加新的元素?第6题 使用字典创建DataFrame第7题 给DataFrame设置索引列第8题 生成一…

个人博客项目笔记_07

写文章 写文章需要 三个接口: 获取所有文章类别 获取所有标签 发布文章 1. 所有文章分类 1.1 接口说明 接口url:/categorys 请求方式:GET 请求参数: 参数名称参数类型说明 返回数据: {"success":…

2024Mathorcup(妈妈杯)数学建模C题python代码+数据教学

2024Mathorcup数学建模挑战赛(妈妈杯)C题保姆级分析完整思路代码数据教学 C题题目:物流网络分拣中心货量预测及人员排班 因为一些不可抗力,下面仅展示部分代码(很少部分部分)和部分分析过程,其…

uni-app调用苹果登录,并获取用户信息

效果 模块配置 dev中的配置 需要开启登录的权限&#xff0c;然后重新下载配置文件&#xff0c;发布打包基座&#xff0c;再运行程序 代码 <button click"appleLogin">苹果登录</button>function appleLogin() {uni.login({provider: apple,success: …

备战蓝桥杯---刷杂题2

显然我们直接看前一半&#xff0c;然后我们按照斜行看&#xff0c;我们发现斜行是递增的&#xff0c;而同一行从左向右也是递增的&#xff0c;因此我们可以直接二分&#xff0c;同时我们发现对称轴的数为Ck,2k. 我们从16斜行枚举即可 #include<bits/stdc.h> using name…

git push报错remote: Please remove the file from history and try again

原因&#xff1a;上传文件超过100M&#xff0c;找到此文件删除即可。 1、查看是哪个文件过大&#xff0c;此处对用红框里面的 a6de1336c67c3bac77757c5eff8c8001823f7c92&#xff0c;得到具体的文件名称 git rev-list --objects --all | grep a6de1336c67c3bac77757c5eff8c80…

如果你想在Nomad Web中操作Excel数据

大家好&#xff0c;才是真的好。 没有意外&#xff0c;我猜你也会想在Nomad Web中操作Excel数据&#xff0c;毕竟你在Notes客户机中就是这样操作的。 不过&#xff0c;一个运行在浏览器中&#xff0c;一个运行在Notes客户机&#xff08;操作系统&#xff09;中。因此&#xf…

host文件nginx代理 综合理解

之前一直理解得很糙 导致遇到问题很迷糊 今天经过大佬两句话讲明白了 特此记录 host文件 首先host做了代理 也就是对浏览器的DNS寻址做了拦截 具体原理可以参照当我们在地址栏输入URL的时候浏览器发生了什么 例如127.0.0.1 www.baidu.com 将 127.0.0.1 www.baidu.com 链接自…

骨传导耳机怎么选?盘点五款2024畅销热门机型推荐

作为有着多年工作经验的数码测评师&#xff0c;我最近收到很多粉丝朋友的私信&#xff0c;大部分都是想了解关于骨传导耳机怎样选择之类的问题&#xff0c;我们可以看到&#xff0c;目前市面上的骨传导耳机五花八门&#xff0c;它们的质量和性能都参差不齐&#xff0c;甚至有很…

鸿蒙开发-ArkTS语言-并发-案例

鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 鸿蒙开发-UI-交互事件-手势事件 鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 鸿蒙开发-ArkTS语言-并发 文章目录 前言 一、CPU密集型任务 1. 使用TaskPool进行图像直方图处理 2. 使用w…

【cocos creator】【TS】贝塞尔曲线,地图之间显示曲线,顺着曲线移动

参考&#xff1a; https://blog.csdn.net/Ctrls_/article/details/108731313 https://blog.csdn.net/qq_28299311/article/details/104009804 const { ccclass, property } cc._decorator;ccclass export default class mapPanel extends cc.Component {property(cc.Node)pla…

2024 年 3 月 Web3 游戏报告:市场趋势与投资动态

作者&#xff1a;stellafootprint.network 数据来源&#xff1a;Footprint Analytics GameFi Research 2024 年 3 月&#xff0c;比特币不断刷新纪录&#xff0c;成功跨越了月中的低谷。受益于宏观经济的积极态势&#xff0c;整个加密货币市场表现突出。与此同时&#xff0c…

宠物医院电子处方软件操作教程,兽医处方笺范例经验分享

宠物医院电子处方软件操作教程&#xff0c;兽医处方笺范例经验分享 一、前言 以下软件操作教程以&#xff0c;佳易王宠物店兽医电子处方管理系统软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 软件基本功能&#xff1a;权限管理&#xff…

Vscode设置滚轮进行字体大小的调节

Vscode设置滚轮进行字体大小的调节 正常的话按 ctrl 或者 ctrl - 进行字体的大小调节 1.打开Vscode&#xff0c;找打设置的图标&#xff0c;在点击设置&#xff0c;或者直接使用快捷键&#xff0c;【ctrl ,】 2. 在搜索框搜索Font Ligatures 3.双击进入settings.json ,找到如…

手持气象站功能介绍

TH-SQ5手持气象站是一种便携式设备&#xff0c;用于手动测量和记录气象参数&#xff0c;如温度、湿度、风速和气压。这些设备通常用于户外活动、教育和业余气象观测。以下是对机械式手持气象站的一些续写内容&#xff1a; 数据记录功能&#xff1a;虽然基本型号的机械式手持气象…

本地开发nginx代理服务器(2024-04-10)

1、nginx 解释 nginx 是一个高性能的HTTP和反向代理服务器&#xff0c;同时也是一个IMAP/POP3/SMTP 代理服务器。 在性能上&#xff0c;Nginx占用很少的系统资源&#xff0c;能支持更多的并发连接&#xff0c;达到更高的访问效率&#xff1b; 在功能上&#xff0c;Nginx是优…

密码学 | 椭圆曲线 ECC 密码学入门(二)

目录 4 椭圆曲线&#xff1a;更好的陷门函数 5 奇异的对称性 6 让我们变得奇特 ⚠️ 原文地址&#xff1a;A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留着学习。如果你和我一样…

2024妈妈杯mathorcup B题详细思路代码:甲骨文智能识别中原始拓片单字自动分割与识别研究

甲骨文智能识别中原始拓片单字自动分割与识别研究&#xff1a; 问题一&#xff1a; 图像预处理&#xff1a;这通常包括将图像转换为灰度图&#xff0c;剔除噪声&#xff0c;调整对比度&#xff0c;以及可能的二值化处理&#xff0c;使得甲骨文的特征更加突出。此外&#xff0c…

2024年第十四届 Mathorcup (B题)| 甲骨文智能识别 | 深度学习 计算机视觉 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看Mathorcup (B题&#xff09;&#xff01; CS团队…

【随笔】Git 高级篇 -- 整理提交记录(下)rebase -i(十六)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…