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

avatar
作者
猴君
阅读量:2

文章目录


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


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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!