若依服务业务容器化实战
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
目录
- 一.安装依赖包
- 二.手动启动若依服务
- 三.业务容器化
- 四.K8S集群部署若依服务
- 五.部署过程中可能遇到的错误
- 1.The JAVA_HOME environment ....
- 2.03:57:38.164 [Druid-ConnectionPool-Create-2005706991] ERROR c.a.d.p.DruidDataSource - [run,2795] - create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8, errorCode 0, state 08S01
- 3.Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'ry.sys_config' doesn't exist
- 4.字符编码问题
- 5.Web server failed to start. Port 80 was already in use.
一.安装依赖包
1.安装JDK环境

1.上传JDK软件包
可以预约课程问客服要资料包即可,如上图所示。
2.解压jdk
[root@master231 ~]# tar xf softwares/RuoYi/Single/jdk-17_linux-x64_bin.tar.gz -C /usr/local/
[root@master231 ~]#
[root@master231 ~]# ll /usr/local/jdk-17.0.8/
total 44
drwxr-xr-x 9 root root 4096 Jan 4 11:32 ./
drwxr-xr-x 12 root root 4096 Jan 4 11:32 ../
drwxr-xr-x 2 root root 4096 Jan 4 11:32 bin/
drwxr-xr-x 5 root root 4096 Jan 4 11:32 conf/
drwxr-xr-x 3 root root 4096 Jan 4 11:32 include/
drwxr-xr-x 2 root root 4096 Jan 4 11:32 jmods/
drwxr-xr-x 72 root root 4096 Jan 4 11:32 legal/
drwxr-xr-x 5 root root 4096 Jan 4 11:32 lib/
lrwxrwxrwx 1 10668 10668 23 Jun 14 2023 LICENSE -> legal/java.base/LICENSE
drwxr-xr-x 3 root root 4096 Jan 4 11:32 man/
-rw-r--r-- 1 10668 10668 290 Jun 14 2023 README
-rw-r--r-- 1 10668 10668 1271 Jun 14 2023 release
[root@master231 ~]#
3.添加jdk环境变量
[root@master231 ~]# cat /etc/profile.d/jdk.sh
#!/bin/bash
export JAVA_HOME=/usr/local/jdk-17.0.8
export PATH=$PATH:$JAVA_HOME/bin
[root@master231 ~]#
[root@master231 ~]# source /etc/profile.d/jdk.sh
[root@master231 ~]#
[root@master231 ~]#
[root@master231 ~]# java --version
java 17.0.8 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)
[root@master231 ~]#
[root@master231 ~]#
2.安装maven
1.下载maven软件包
[root@master231 ~]# wget https://dlcdn.apache.org/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.tar.gz
2.解压软件包
[root@master231 ~]# tar xf apache-maven-3.9.12-bin.tar.gz -C /usr/local/
[root@master231 ~]#
[root@master231 ~]# ll /usr/local/apache-maven-3.9.12/
total 48
drwxr-xr-x 6 root root 4096 Jan 4 11:23 ./
drwxr-xr-x 11 root root 4096 Jan 4 11:23 ../
drwxr-xr-x 2 root root 4096 Jan 4 11:23 bin/
drwxr-xr-x 2 root root 4096 Jan 4 11:23 boot/
drwxr-xr-x 3 root root 4096 Dec 13 17:16 conf/
drwxr-xr-x 4 root root 4096 Jan 4 11:23 lib/
-rw-r--r-- 1 root root 8391 Dec 13 17:16 LICENSE
-rw-r--r-- 1 root root 4854 Dec 13 17:16 NOTICE
-rw-r--r-- 1 root root 1279 Dec 13 17:16 README.txt
[root@master231 ~]#
3.配置环境变量
[root@master231 ~]# cat /etc/profile.d/ruoyi.sh
#!/bin/bash
export RUOYI_HOME=/usr/local/apache-maven-3.9.12
export PATH=$PATH:$RUOYI_HOME/bin
[root@master231 ~]#
[root@master231 ~]# mvn --version
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: /usr/local/apache-maven-3.9.12
Java version: 17.0.8, vendor: Oracle Corporation, runtime: /usr/local/jdk-17.0.8
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-119-generic", arch: "amd64", family: "unix"
[root@master231 ~]#
二.手动启动若依服务
1.下载代码
参考链接:
https://gitee.com/y_project/RuoYi
实战案例
1.克隆代码
[root@master231 ~]# git clone https://gitee.com/y_project/RuoYi.git
2.查看目录结构
[root@master231 ~]# ll RuoYi/
total 92
drwxr-xr-x 13 root root 4096 Jan 4 11:40 ./
drwx------ 8 root root 4096 Jan 4 11:40 ../
drwxr-xr-x 2 root root 4096 Jan 4 11:40 bin/
drwxr-xr-x 2 root root 4096 Jan 4 11:40 doc/
drwxr-xr-x 8 root root 4096 Jan 4 11:40 .git/
drwxr-xr-x 2 root root 4096 Jan 4 11:40 .github/
-rw-r--r-- 1 root root 653 Jan 4 11:40 .gitignore
-rw-r--r-- 1 root root 1090 Jan 4 11:40 LICENSE
-rw-r--r-- 1 root root 10440 Jan 4 11:40 pom.xml
-rw-r--r-- 1 root root 9869 Jan 4 11:40 README.md
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-admin/
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-common/
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-framework/
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-generator/
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-quartz/
drwxr-xr-x 3 root root 4096 Jan 4 11:40 ruoyi-system/
-rw-r--r-- 1 root root 1635 Jan 4 11:40 ry.bat
-rw-r--r-- 1 root root 1681 Jan 4 11:40 ry.sh
drwxr-xr-x 2 root root 4096 Jan 4 11:40 sql/
[root@master231 ~]#
2.修改配置文件
1.修改上传文件路径
[root@master231 RuoYi]# grep "profile:" ruoyi-admin/src/main/resources/application.yml
profile: D:/ruoyi/uploadPath
[root@master231 RuoYi]#
[root@master231 RuoYi]# sed -i '/profile:/s#D:/ruoyi/uploadPath#/tmp/ruoyi-uploadPath#' ruoyi-admin/src/main/resources/application.yml
[root@master231 RuoYi]#
[root@master231 RuoYi]# grep "profile:" ruoyi-admin/src/main/resources/application.yml
profile: /tmp/ruoyi-uploadPath
[root@master231 RuoYi]#
2.修改数据库的配置信息
[root@master231 RuoYi]# grep jdbc ruoyi-admin/src/main/resources/application-druid.yml
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
[root@master231 RuoYi]#
[root@master231 RuoYi]#
[root@master231 RuoYi]# sed -i '/jdbc/s#localhost#127.0.0.1#' ruoyi-admin/src/main/resources/application-druid.yml
[root@master231 RuoYi]#
[root@master231 RuoYi]# grep jdbc ruoyi-admin/src/main/resources/application-druid.yml
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
[root@master231 RuoYi]#
3.编译若依代码
1.编译环境
[root@master231 RuoYi]# mvn clean package -Dmaven.test.skip=true
...
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for ruoyi 4.8.2:
[INFO]
[INFO] ruoyi .............................................. SUCCESS [ 1.958 s]
[INFO] ruoyi-common ....................................... SUCCESS [ 44.900 s]
[INFO] ruoyi-system ....................................... SUCCESS [ 1.844 s]
[INFO] ruoyi-framework .................................... SUCCESS [ 6.865 s]
[INFO] ruoyi-quartz ....................................... SUCCESS [ 1.463 s]
[INFO] ruoyi-generator .................................... SUCCESS [ 1.616 s]
[INFO] ruoyi-admin ........................................ SUCCESS [ 18.614 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:22 min
[INFO] Finished at: 2026-01-04T03:56:02Z
[INFO] ------------------------------------------------------------------------
[root@master231 RuoYi]#
2.查看编译后的文件
[root@master231 RuoYi]# ll ruoyi-admin/target/
total 84052
drwxr-xr-x 6 root root 4096 Jan 4 11:56 ./
drwxr-xr-x 4 root root 4096 Jan 4 11:55 ../
drwxr-xr-x 7 root root 4096 Jan 4 11:55 classes/
drwxr-xr-x 3 root root 4096 Jan 4 11:55 generated-sources/
drwxr-xr-x 2 root root 4096 Jan 4 11:55 maven-archiver/
drwxr-xr-x 3 root root 4096 Jan 4 11:55 maven-status/
-rw-r--r-- 1 root root 82624944 Jan 4 11:56 ruoyi-admin.jar
-rw-r--r-- 1 root root 3413558 Jan 4 11:55 ruoyi-admin.jar.original
[root@master231 RuoYi]# l
4.初始化MySQL服务
1.启动MySQL数据库
[root@master231 ~]# docker load -i softwares/RuoYi/Single/oldboyedu-mysql-v8.0.36-oracle.tar.gz
[root@master231 ~]# docker container run \
-e MYSQL_ROOT_PASSWORD="password" \
-d \
--name mysql-server \
-e MYSQL_DATABASE="ry" \
--network host \
-e MYSQL_USER="ruoyi" \
-e MYSQL_PASSWORD="yinzhengjie" \
mysql:8.0.36-oracle \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--default-authentication-plugin=mysql_native_password
[root@master231 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4bc9b2a5690e mysql:8.0.36-oracle "docker-entrypoint.s…" 2 seconds ago Up 1 second mysql-server
[root@master231 ~]#
[root@master231 ~]# ss -ntl | grep 3306
LISTEN 0 70 *:33060 *:*
LISTEN 0 151 *:3306 *:*
[root@master231 ~]#
2.MySQL连接性测试
[root@master231 ~]# docker exec -it mysql-server mysql -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.36 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| ry |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> SELECT user,host,plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| root | % | mysql_native_password |
| ruoyi | % | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
6 rows in set (0.00 sec)
mysql>
3.准备SQL文件到容器中
[root@master231 RuoYi]# ll sql/
total 420
drwxr-xr-x 2 root root 4096 Jan 4 11:40 ./
drwxr-xr-x 13 root root 4096 Jan 4 11:40 ../
-rw-r--r-- 1 root root 11985 Jan 4 11:40 quartz.sql
-rw-r--r-- 1 root root 184827 Jan 4 11:40 ruoyi.html
-rw-r--r-- 1 root root 156441 Jan 4 11:40 ruoyi.pdm
-rw-r--r-- 1 root root 60934 Jan 4 11:40 ry_20250416.sql
[root@master231 RuoYi]#
[root@master231 RuoYi]# docker cp sql/quartz.sql mysql-server:/
[root@master231 RuoYi]#
[root@master231 RuoYi]# docker cp sql/ry_20250416.sql mysql-server:/
[root@master231 RuoYi]#
4.导入若依的表结构文件
[root@master231 RuoYi]# docker exec -it mysql-server bash
bash-4.4#
bash-4.4# mysql -ppassword ry < /quartz.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
bash-4.4#
bash-4.4# mysql -ppassword ry < /ry_20250416.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
bash-4.4#
bash-4.4# mysql -ppassword -e "SHOW TABLES FROM ry"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------------+
| Tables_in_ry |
+--------------------------+
| QRTZ_BLOB_TRIGGERS |
| QRTZ_CALENDARS |
| QRTZ_CRON_TRIGGERS |
| QRTZ_FIRED_TRIGGERS |
| QRTZ_JOB_DETAILS |
| QRTZ_LOCKS |
| QRTZ_PAUSED_TRIGGER_GRPS |
| QRTZ_SCHEDULER_STATE |
| QRTZ_SIMPLE_TRIGGERS |
| QRTZ_SIMPROP_TRIGGERS |
| QRTZ_TRIGGERS |
| gen_table |
| gen_table_column |
| sys_config |
| sys_dept |
| sys_dict_data |
| sys_dict_type |
| sys_job |
| sys_job_log |
| sys_logininfor |
| sys_menu |
| sys_notice |
| sys_oper_log |
| sys_post |
| sys_role |
| sys_role_dept |
| sys_role_menu |
| sys_user |
| sys_user_online |
| sys_user_post |
| sys_user_role |
+--------------------------+
bash-4.4#
5.启动若依服务

1.启动若依服务
[root@master231 RuoYi]# java -jar ruoyi-admin/target/ruoyi-admin.jar
Application Version: 4.8.2
Spring Boot Version: 2.5.15
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
...
(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙
.-------. ____ __
| _ _ \ \ \ / /
| ( ' ) | \ _. / '
|(_ o _) / _( )_ .'
| (_,_).' __ ___(_ o _)'
| |\ \ | || |(_,_)'
| | \ `' /| `-' /
| | \ / \ /
''-' `'-' `-..-'
2.访问若依的webUI【如上图所示】
http://10.0.0.231/login
三.业务容器化
1.重新编译若依服务
1.修改数据库的IP地址链接信息
[root@master231 RuoYi]# grep jdbc ruoyi-admin/src/main/resources/application-druid.yml
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
[root@master231 RuoYi]#
[root@master231 RuoYi]#
[root@master231 RuoYi]# sed -i '/jdbc/s#127.0.0.1#mysql-server#' ruoyi-admin/src/main/resources/application-druid.yml
[root@master231 RuoYi]#
[root@master231 RuoYi]# grep jdbc ruoyi-admin/src/main/resources/application-druid.yml
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql-server:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
[root@master231 RuoYi]#
2.修改链接数据库的用户名
[root@master231 RuoYi]# grep username ruoyi-admin/src/main/resources/application-druid.yml
username: root
username:
login-username: ruoyi
[root@master231 RuoYi]#
[root@master231 RuoYi]#
[root@master231 RuoYi]# sed -i '/username/s#root#ruoyi#' ruoyi-admin/src/main/resources/application-druid.yml
[root@master231 RuoYi]#
[root@master231 RuoYi]# grep username ruoyi-admin/src/main/resources/application-druid.yml
username: ruoyi
username:
login-username: ruoyi
[root@master231 RuoYi]#
3.修改链接数据库的密码
[root@master231 RuoYi]# grep password ruoyi-admin/src/main/resources/application-druid.yml
password: password
password:
login-password: 123456
[root@master231 RuoYi]#
[root@master231 RuoYi]# sed -ri '/password/s#(password: )password#\1yinzhengjie#' ruoyi-admin/src/main/resources/application-druid.yml [root@master231 RuoYi]#
[root@master231 RuoYi]# grep password ruoyi-admin/src/main/resources/application-druid.yml
password: yinzhengjie
password:
login-password: 123456
[root@master231 RuoYi]#
4.重新编译若依服务的jar包
[root@master231 RuoYi]# mvn clean package -Dmaven.test.skip=true
...
[INFO] Reactor Summary for ruoyi 4.8.2:
[INFO]
[INFO] ruoyi .............................................. SUCCESS [ 0.842 s]
[INFO] ruoyi-common ....................................... SUCCESS [ 9.335 s]
[INFO] ruoyi-system ....................................... SUCCESS [ 1.618 s]
[INFO] ruoyi-framework .................................... SUCCESS [ 1.873 s]
[INFO] ruoyi-quartz ....................................... SUCCESS [ 0.928 s]
[INFO] ruoyi-generator .................................... SUCCESS [ 1.031 s]
[INFO] ruoyi-admin ........................................ SUCCESS [ 4.308 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.031 s
[INFO] Finished at: 2026-01-04T09:16:32Z
[INFO] ------------------------------------------------------------------------
[root@master231 RuoYi]#
5.查看编译后的jar包文件
[root@master231 RuoYi]# ll ruoyi-admin/target/
total 84052
drwxr-xr-x 6 root root 4096 Jan 4 17:16 ./
drwxr-xr-x 4 root root 4096 Jan 4 17:16 ../
drwxr-xr-x 7 root root 4096 Jan 4 17:16 classes/
drwxr-xr-x 3 root root 4096 Jan 4 17:16 generated-sources/
drwxr-xr-x 2 root root 4096 Jan 4 17:16 maven-archiver/
drwxr-xr-x 3 root root 4096 Jan 4 17:16 maven-status/
-rw-r--r-- 1 root root 82624946 Jan 4 17:16 ruoyi-admin.jar
-rw-r--r-- 1 root root 3413560 Jan 4 17:16 ruoyi-admin.jar.original
[root@master231 RuoYi]#
2.制作若依镜像
1.编写dockerfile
[root@master231 RuoYi]# cat Dockerfile
FROM registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/tomcat:9.0.87-jdk17
MAINTAINER JasonYin y1053419035@qq.com
LABEL auther=yinzhengjie \
blog=https://www.cnblogs.com/yinzhengjie
EXPOSE 80
COPY ruoyi-admin/target/ruoyi-admin.jar /
CMD ["java","-jar","/ruoyi-admin.jar"]
[root@master231 RuoYi]#
2.编译镜像
[root@master231 RuoYi]# docker build -t harbor.yinzhengjie.com/ruoyi-project/ruoyi-single:v0.1 .
3.查看镜像
[root@master231 RuoYi]# docker image ls harbor.yinzhengjie.com/ruoyi-project/ruoyi-single
REPOSITORY TAG IMAGE ID CREATED SIZE
harbor.yinzhengjie.com/ruoyi-project/ruoyi-single v0.1 edadd3b6a908 10 seconds ago 510MB
[root@master231 RuoYi]#
4.启动测试
[root@master231 RuoYi]# docker run -d \
--name ruoyi-server \
--network host \
harbor.yinzhengjie.com/ruoyi-project/ruoyi-single:v0.1
5.访问webUI
http://10.0.0.231/login
3.使用docker-compose一键启动

1.编写docker-compose
[root@master231 RuoYi]# cat docker-compose.yml
services:
mysql:
image: mysql:8.0.36-oracle
container_name: mysql-server
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: ry
MYSQL_USER: ruoyi
MYSQL_PASSWORD: yinzhengjie
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./sql:/docker-entrypoint-initdb.d
networks:
- ruoyi-net
ruoyi:
container_name: ruoyi-server
image: harbor.yinzhengjie.com/ruoyi-project/ruoyi-single:v0.1
depends_on:
- mysql
ports:
- "80:80"
networks:
- ruoyi-net
networks:
ruoyi-net:
driver: bridge
volumes:
mysql_data:
[root@master231 RuoYi]#
2.停止之前的测试容器
[root@master231 ~]# docker rm -f ruoyi-server mysql-server
mysql-server
ruoyi-server
[root@master231 ~]#
3.启动服务
[root@master231 RuoYi]# docker-compose up -d
[+] Building 0.0s (0/0) docker:default
[+] Running 4/4
✔ Network ruoyi_ruoyi-net Created 0.1s
✔ Volume "ruoyi_mysql_data" Created 0.0s
✔ Container mysql-server Started 0.0s
✔ Container ruoyi-server Started 0.0s
[root@master231 RuoYi]#
4.查看容器启动状态
[root@master231 RuoYi]# docker-compose ps -a
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mysql-server mysql:8.0.36-oracle "docker-entrypoint.s…" mysql 9 seconds ago Up 8 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp
ruoyi-server harbor.yinzhengjie.com/ruoyi-project/ruoyi-single:v0.1 "java -jar /ruoyi-ad…" ruoyi 9 seconds ago Up 7 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 8080/tcp
[root@master231 RuoYi]#
5.访问测试
http://10.0.0.231/login
温馨提示:
如果说若依服务没有运行成功,页面无法访问时,可以重启下若依服务,因为MySQL初始化的时间可能有点长,若依启动后直接链接数据库时数据库此时还没有就绪导致的问题。
四.K8S集群部署若依服务
敬请期待。
五.部署过程中可能遇到的错误
1.The JAVA_HOME environment ....

报错信息:
[root@master231 ~]# mvn --version
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.
[root@master231 ~]#
错误分析:
缺少JAVA_HOME环境变量。
解决方案:
安装JDK环境。
2.03:57:38.164 [Druid-ConnectionPool-Create-2005706991] ERROR c.a.d.p.DruidDataSource - [run,2795] - create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8, errorCode 0, state 08S01

报错信息:
03:57:38.164 [Druid-ConnectionPool-Create-2005706991] ERROR c.a.d.p.DruidDataSource - [run,2795] - create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8, errorCode 0, state 08S01
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:175)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:446)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:132)
at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:244)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:126)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1695)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1811)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2793)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at jdk.internal.reflect.GeneratedConstructorAccessor41.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:166)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89)
at com.mysql.cj.NativeSession.connect(NativeSession.java:121)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:945)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815)
... 9 common frames omitted
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153)
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
... 12 common frames omitted
错误分析
链接数据库失败。
解决方案:
先启动数据库。
3.Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'ry.sys_config' doesn't exist
错误信息:
04:10:16.347 [main] ERROR o.s.b.SpringApplication - [reportFailure,870] - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilterFactoryBean' defined in class path resource [com/ruoyi/framework/config/ShiroConfig.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'authorizationAttributeSourceAdvisor' defined in class path resource [com/ruoyi/framework/config/ShiroConfig.class]: Unsatisfied dependency expressed through method 'authorizationAttributeSourceAdvisor' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityManager' defined in class path resource [com/ruoyi/framework/config/ShiroConfig.class]: Unsatisfied dependency expressed through method 'securityManager' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userRealm': Unsatisfied dependency expressed through field 'loginService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysLoginService': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysUserServiceImpl': Unsatisfied dependency expressed through field 'configService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysConfigServiceImpl': Invocation of init method failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'ry.sys_config' doesn't exist
### The error may exist in URL [jar:file:/root/RuoYi/ruoyi-admin/target/ruoyi-admin.jar!/BOOT-INF/lib/ruoyi-system-4.8.2.jar!/mapper/system/SysConfigMapper.xml]
### The error may involve com.ruoyi.system.mapper.SysConfigMapper.selectConfigList-Inline
### The error occurred while setting parameters
### SQL: select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark from sys_config
### Cause: java.sql.SQLSyntaxErrorException: Table 'ry.sys_config' doesn't exist
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'ry.sys_config' doesn't exist
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:214)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:270)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:773)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:575)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:453)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:343)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1359)
at com.ruoyi.RuoYiApplication.main(RuoYiApplication.java:18)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
...
错误分析:
缺少表空间信息。
解决方案:
导入数据库信息。
4.字符编码问题

错误信息:
如上图所示。
解决方案:
检查数据库的字符编码是否存在问题。
5.Web server failed to start. Port 80 was already in use.

错误信息
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 80 was already in use.
Action:
Identify and stop the process that's listening on port 80 or configure this application to listen on another port.
错误分析:
由于已经启动过服务,因此无需重复启动。
解决方案:
检查是否重复启动若依服务。
本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/19270668,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费)
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。

浙公网安备 33010602011771号