Explorar o código

修改支持一个镜像中启动多个jar文件

459242451@qq.com %!s(int64=3) %!d(string=hai) anos
pai
achega
3a124d854e

+ 22 - 1
README.md

@@ -73,4 +73,25 @@ RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 `分布式集群` 场景升级(不兼
 
 ## 注意点
 
-切换数据库需要修改generator模块中GenTableColumnMapper.xml和GenTableMapper.xml,找到其中的mysql和postgresql标识
+切换数据库需要修改generator模块中GenTableColumnMapper.xml和GenTableMapper.xml,找到其中的mysql和postgresql标识
+
+## 测试环境参数
+k8s master节点:
+ip: 10.11.96.31
+登录: root/Lw123456
+
+pg数据库:
+ip: 10.11.96.34
+端口:16430
+用户:postgres
+密码:Superman@2021
+数据库:sqjt
+
+nacos:
+http://10.11.96.37:8848/nacos
+登录:nacos/nacos
+
+redis:
+ip: 10.11.96.37
+端口: 6379
+密码:superman

+ 6 - 2
ruoyi-admin/Dockerfile

@@ -7,11 +7,13 @@ RUN mkdir -p /xintong/server/logs
 
 WORKDIR /xintong/server
 
-EXPOSE 8080
+EXPOSE 8080 8081
 
 ADD ./target/ruoyi-admin.jar ./app.jar
+ADD start.sh ./start.sh
+RUN chmod +x ./start.sh
 
-ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
+ENTRYPOINT ["./start.sh"]
 
 #docker build -t docker.xt.wenhq.top:8083/docker_r/yjzh_server:1.0 .
 #docker run --privileged=true  -itd --name yjzh_server -v /sys/fs/cgroup:/sys/fs/cgroup:ro  -p 8080:8080  959e5d6a26e7
@@ -19,3 +21,5 @@ ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"
 #docker push docker.xt.wenhq.top:8083/docker_r/yjzh_server:1.0
 
 #docker pull docker.xt.wenhq.top:8083/docker_r/yjzh_server:1.0
+
+#docker images|grep none|awk '{print $3}'|xargs docker rmi -f

+ 3 - 3
ruoyi-admin/src/main/resources/application-dev.yml

@@ -79,13 +79,13 @@ spring:
 spring:
   redis:
     # 地址
-    host: 127.0.0.1
+    host: 175.27.190.58
     # 端口,默认为6379
     port: 6379
     # 数据库索引
-    database: 0
+    database: 10
     # 密码
-    password:
+    password: ficot!redis!
     # 连接超时时间
     timeout: 10s
     # 是否开启ssl

+ 135 - 0
ruoyi-admin/src/main/resources/application-test.yml

@@ -0,0 +1,135 @@
+# 数据源配置
+spring:
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
+    dynamic:
+      # 性能分析插件(有性能损耗 不建议生产环境使用)
+      p6spy: true
+      # 设置默认的数据源或者数据源组,默认值即为 master
+      primary: master
+      datasource:
+        # 主库数据源
+        master:
+          driverClassName: org.postgresql.Driver
+          url: jdbc:postgresql://10.11.96.34:16430/yjzh?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+          username: postgres
+          password: Superman@2021
+        # 从库数据源
+#        slave:
+#          lazy: true
+#          driverClassName: com.mysql.cj.jdbc.Driver
+#          url:
+#          username:
+#          password:
+      druid:
+        # 初始连接数
+        initialSize: 5
+        # 最小连接池数量
+        minIdle: 10
+        # 最大连接池数量
+        maxActive: 20
+        # 配置获取连接等待超时的时间
+        maxWait: 60000
+        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+        timeBetweenEvictionRunsMillis: 60000
+        # 配置一个连接在池中最小生存的时间,单位是毫秒
+        minEvictableIdleTimeMillis: 300000
+        # 配置一个连接在池中最大生存的时间,单位是毫秒
+        maxEvictableIdleTimeMillis: 900000
+        # 配置检测连接是否有效
+        validationQuery: SELECT 1
+        testWhileIdle: true
+        testOnBorrow: false
+        testOnReturn: false
+        # 注意这个值和druid原生不一致,默认启动了stat
+        filters: stat
+
+--- # druid 配置
+spring:
+  datasource:
+    druid:
+      webStatFilter:
+        enabled: true
+      statViewServlet:
+        enabled: true
+        # 设置白名单,不填则允许所有访问
+        allow:
+        url-pattern: /druid/*
+        # 控制台管理用户名和密码
+        login-username: ruoyi
+        login-password: 123456
+      filter:
+        stat:
+          enabled: true
+          # 慢SQL记录
+          log-slow-sql: true
+          slow-sql-millis: 1000
+          merge-sql: true
+        wall:
+          config:
+            multi-statement-allow: true
+
+--- # redis 配置
+spring:
+  redis:
+    # 地址
+    host: 10.11.96.37
+    # 端口,默认为6379
+    port: 6379
+    # 数据库索引
+    database: 10
+    # 密码
+    password: superman
+    # 连接超时时间
+    timeout: 10s
+    # 是否开启ssl
+    ssl: false
+
+  # nacos
+  cloud:
+    nacos:
+      server-addr: 10.11.96.37:8083
+      discovery:
+        server-addr: 10.11.96.37:8083
+        namespace: public
+
+    compatibility-verifier:
+      enabled: false
+nacos:
+  config:
+    server-addr: nacos.xt.wenhq.top:8083
+redisson:
+  # 线程池数量
+  threads: 16
+  # Netty线程池数量
+  nettyThreads: 32
+  # 传输模式
+  transportMode: "NIO"
+  # 单节点配置
+  singleServerConfig:
+    # 客户端名称
+    clientName: ${ruoyi.name}
+    # 最小空闲连接数
+    connectionMinimumIdleSize: 32
+    # 连接池大小
+    connectionPoolSize: 64
+    # 连接空闲超时,单位:毫秒
+    idleConnectionTimeout: 10000
+    # 命令等待超时,单位:毫秒
+    timeout: 3000
+    # 如果尝试在此限制之内发送成功,则开始启用 timeout 计时。
+    retryAttempts: 3
+    # 命令重试发送时间间隔,单位:毫秒
+    retryInterval: 1500
+    # 发布和订阅连接的最小空闲连接数
+    subscriptionConnectionMinimumIdleSize: 1
+    # 发布和订阅连接池大小
+    subscriptionConnectionPoolSize: 50
+    # 单个连接最大订阅数量
+    subscriptionsPerConnection: 5
+    # DNS监测时间间隔,单位:毫秒
+    dnsMonitoringInterval: 5000
+
+
+

+ 2 - 1
ruoyi-admin/src/main/resources/logback.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <property name="log.path" value="./logs"/>
+    <springProperty scope="context" name="LOG_MODULE" source="ruoyi.name" />
+    <property name="log.path" value="./logs/${LOG_MODULE}"/>
     <property name="console.log.pattern"
               value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %msg%n"/>
     <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>

+ 10 - 0
ruoyi-admin/start.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# 命令后加入 & ,保持程序后台持续运行
+nohup java -jar app.jar --ruoyi.name=YJZH_SQ --spring.profiles.active=test --server.port=8080 >/dev/null 2>&1 &
+nohup java -jar app.jar --ruoyi.name=YJZH_SQ_FILE --spring.profiles.active=test --server.port=8081 >/dev/null 2>&1 &
+
+# 死循环,保持docker前台运行
+while [[ true ]]; do
+    sleep 1
+done