若依服务业务容器化实战

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.安装依赖包

1.安装JDK环境

QQ_1767520444902

	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.启动若依服务

QQ_1767515984803

	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一键启动

QQ_1767519881749

	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 ....

QQ_1767497414250

	报错信息:
[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

QQ_1767499115774

	报错信息:
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.字符编码问题

QQ_1767513161857

	错误信息:
如上图所示。


	解决方案:
检查数据库的字符编码是否存在问题。

5.Web server failed to start. Port 80 was already in use.

QQ_1767517313751

	错误信息
***************************
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.


	错误分析:
由于已经启动过服务,因此无需重复启动。


	解决方案:
检查是否重复启动若依服务。
posted @ 2025-11-26 04:36  尹正杰  阅读(116)  评论(0)    收藏  举报