文章目录
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
3. 安装docker
- 安装docker
- 安装docker-compose
4. idea配置服务器SSH连接
进入 Settings -> Tools -> SSH Configurations 点击加号创建SSH连接配置
填写 服务器IP 用户名 密码 端口号 点击 Test Connection 测试连接
使用Terminal 工具 点击箭头找到上方创建的SSH连接配置
选择即可进入SSH连接界面 在这里可以对服务器进行命令操作
5. idea配置服务器FTP连接
进入 Settings -> Build-> Deployment 点击加号 选择SFTP 创建 FTP 连接配置
选择之前创建好的SSH配置 点击 Test Connection 测试连接
在IDEA上方工具栏 找到 Tools -> Deployment -> Browse Remote Host 打开远程界面
点击箭头找到我们上方配置的SFTP连接配置 即可连接到服务器的文件目录
配置成功后,可以直接从左侧的项目中拖拽需要的文件到右侧远程服务器的目录中。
6. docker连接并部署后端项目
拉取项目
ruoyi-cloud-plus 微服务项目,并用idea打开。
将配置使用FTP上传到根目录
注意:修改项目中docker文件夹下docker-compose.yml文件
给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打包
构建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地址
更改代理路径(注意: /开头/结尾)
路径对应前端环境文件
更改后端ip地址
至此我们 ruoyi-cloud-plus项目部署完毕。可以在浏览器访问。
如果有收获! 希望老铁们来个三连,点赞、收藏、转发。
创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客