作者:Eddy  历史版本:1  更新时间:2024-05-13 18:33

目录结构

|-- docker-compose
|   |-- readMe.md        # 说明文档
|   |-- mysql.sh        # 数据存储使用mysql5.7的启动脚本
|   |-- oracle.sh        # 数据存储使用oracle11g的启动脚本
|   |-- mssql.sh        # 数据存储使用sqlserver2107的启动脚本
|   |-- postgre.sh        # 数据存储使用postgresql12的启动脚本
|   |-- bin                # 具体配置及脚本目录
|   |   |-- docker-compose-app.yml        # docker-compose文件,ibps-v3程序配置
|   |   |-- docker-compose-data.yml        # docker-compose文件,数据存储配置,mq、es、redis、fastdfs等
|   |   |-- docker-compose-kibana.yml    # docker-compose文件,kibana配置
|   |   |-- docker-compose-logstash.yml        # docker-compose文件,logstash配置
|   |   |-- docker-compose-mssql.yml        # docker-compose文件,mssql配置
|   |   |-- docker-compose-mysql.yml        # docker-compose文件,mysql配置
|   |   |-- docker-compose-oracle.yml        # docker-compose文件,oracle配置
|   |   |-- docker-compose-postgre.yml        # docker-compose文件,postgre配置
|   |   |-- docker-compose-sw.yml            # docker-compose文件,skywalking配置
|   |   |-- docker.compose.app.down.sh        # shell脚本文件,ibps-v3程序停止
|   |   |-- docker.compose.app.logs.sh        # shell脚本文件,ibps-v3程序日志查看
|   |   |-- docker.compose.app.up.sh        # shell脚本文件,ibps-v3程序启动
|   |   |-- docker.compose.data.down.sh        # shell脚本文件,数据存储停止
|   |   |-- docker.compose.data.logs.sh        # shell脚本文件,数据存储日志查看
|   |   |-- docker.compose.data.up.sh        # shell脚本文件,数据存储启动
|   |   |-- docker.compose.kibana.down.sh    # shell脚本文件,kibana停止
|   |   |-- docker.compose.kibana.logs.sh    # shell脚本文件,kibana日志查看
|   |   |-- docker.compose.kibana.up.sh        # shell脚本文件,kibana启动
|   |   |-- docker.compose.logstash.down.sh        # shell脚本文件,logstash停止
|   |   |-- docker.compose.logstash.logs.sh        # shell脚本文件,logstash日志查看
|   |   |-- docker.compose.logstash.up.sh        # shell脚本文件,logstash启动
|   |   |-- docker.compose.mssql.down.sh        # shell脚本文件,mssql停止
|   |   |-- docker.compose.mssql.logs.sh        # shell脚本文件,mssql日志查看
|   |   |-- docker.compose.mssql.up.sh            # shell脚本文件,mssql启动
|   |   |-- docker.compose.mysql.down.sh        # shell脚本文件,mysql停止
|   |   |-- docker.compose.mysql.logs.sh        # shell脚本文件,mysql日志查看
|   |   |-- docker.compose.mysql.up.sh            # shell脚本文件,mysql启动
|   |   |-- docker.compose.oracle.down.sh        # shell脚本文件,oracle停止
|   |   |-- docker.compose.oracle.logs.sh        # shell脚本文件,oracle日志查看
|   |   |-- docker.compose.oracle.up.sh            # shell脚本文件,oracle启动
|   |   |-- docker.compose.postgre.down.sh        # shell脚本文件,postgre停止
|   |   |-- docker.compose.postgre.logs.sh        # shell脚本文件,postgre日志查看
|   |   |-- docker.compose.postgre.up.sh        # shell脚本文件,postgre启动
|   |   |-- docker.compose.sw.down.sh            # shell脚本文件,skywalking停止
|   |   |-- docker.compose.sw.logs.sh            # shell脚本文件,skywalking日志启动
|   |   |-- docker.compose.sw.up.sh                # shell脚本文件,skywalking启动
|   |   |-- replace.sh                            # shell脚本文件,替换文件内容,主要替换IP、数据库类型、授权密码等
|   |   |-- ui.sh                                # shell脚本文件,ui后端地址替换
|   |   |-- agent                                # skywalking客户端探针程序
|   |   |-- conf                                # 容器内程序配置文件目录
|   |   |   |-- elasticsearch.yml                # elasticsearch配置文件
|   |   |   |-- kibana.yml                        # kibana配置文件
|   |   |   |-- logstash.conf                    # logstash配置文件
|   |   |   |-- logstash.yml                    # logstash配置文件
|   |   |   |-- mysqld.cnf                        # mysql配置文件
|   |   |   |-- nginx.conf                        # nginx配置文件
|   |   |   |-- redis.conf                        # redis配置文件
|   |   |-- data                                # 容器内数据挂载目录,持久化,否则容器重启后数据会丢失
|   |   |   |-- consul                            # 容器内consul数据挂载目录
|   |   |   |-- es                                # 容器内elasticsearch数据挂载目录
|   |   |   |-- fastdfs                            # 容器内fastdfs数据挂载目录
|   |   |   |-- mssql                            # 容器内mssql数据挂载目录
|   |   |   |-- mysql                            # 容器内mysql数据挂载目录
|   |   |   |-- oracle                            # 容器内oracle数据挂载目录
|   |   |   |-- postgres                        # 容器内postgre数据挂载目录
|   |   |   |-- rabbitmq                        # 容器内rabbitmq数据挂载目录
|   |   |   |-- redis                            # 容器内redis数据挂载目录
|   |   |-- datasource                            # ibps-v3程序容器内数据源配置文件目录
|   |   |   |-- datasource-bpmn.xml                # bpmn程序容器内数据源配置文件挂载
|   |   |   |-- datasource-business.xml            # business程序容器内数据源配置文件挂载
|   |   |   |-- datasource-form.xml                # form程序容器内数据源配置文件挂载
|   |   |   |-- datasource-platform.xml            # oauth2server/platform程序容器内数据源配置文件挂载
|   |   |-- env                                    # 容器环境变量文件目录
|   |   |   |-- bpmn.docker.env                    # bpmn容器环境变量文件
|   |   |   |-- business.docker.env                # business容器环境变量文件
|   |   |   |-- container.env                    # 容器环境变量文件,暂时没用到
|   |   |   |-- es.env                            # elasticsearch容器环境变量文件
|   |   |   |-- eureka.docker.env                # eureka容器环境变量文件
|   |   |   |-- form.docker.env                    # form容器环境变量文件
|   |   |   |-- ibps.sw.env                        # skywalking容器环境变量文件
|   |   |   |-- kibana.env                        # kibana容器环境变量文件
|   |   |   |-- logstash.env                    # logstash容器环境变量文件
|   |   |   |-- mssql.env                        # mssql容器环境变量文件
|   |   |   |-- mysql.env                        # mysql容器环境变量文件
|   |   |   |-- oauth.docker.env                # oauth2server容器环境变量文件
|   |   |   |-- oracle.env                        # oracle容器环境变量文件
|   |   |   |-- platform.docker.env                # platform容器环境变量文件
|   |   |   |-- postgresql.env                    # postgresql容器环境变量文件
|   |   |   |-- provider.docker.env                # ibps-v3程序容器环境变量文件
|   |   |   |-- sw-oap.env                        # skywalking-oap容器环境变量文件
|   |   |   |-- sw-ui.env                        # skywalking-ui容器环境变量文件
|   |   |   |-- zuul.docker.env                    # zuul容器环境变量文件
|   |   |   |-- sample                            # 容器环境变量文件模版目录
|   |   |-- init                                # 容器初始化目录
|   |   |   |-- mssql                            # mssql容器初始化目录
|   |   |   |   |-- database.sh                    # mssql容器初始化数据库脚本
|   |   |   |   |-- init                        # mssql容器初始化数据库脚本目录
|   |   |   |   |   |-- database-business.sh    # mssql容器初始化business数据库脚本
|   |   |   |   |   |-- database-platform.sh    # mssql容器初始化platform数据库脚本
|   |   |   |   |-- sql                            # mssql容器初始化数据库sql脚本目录
|   |   |   |       |-- database-business.sql    # mssql容器初始化business数据库sql脚本
|   |   |   |       |-- database-platform.sql    # mssql容器初始化platform数据库sql脚本
|   |   |   |-- mysql                            # mysql容器初始化目录
|   |   |   |   |-- database-business.sql        # mysql容器初始化business数据库sql脚本
|   |   |   |   |-- database-platform.sql        # mysql容器初始化platform数据库sql脚本
|   |   |   |-- oracle                            # oracle容器初始化目录
|   |   |   |   |-- user-business.sh            # oracle容器初始化business数据库脚本
|   |   |   |   |-- user-platform.sh            # oracle容器初始化platform数据库脚本
|   |   |   |-- postgres                        # postgres容器初始化目录
|   |   |       |-- database-business.sql        # postgres容器初始化business数据库sql脚本
|   |   |       |-- database-platform.sql        # postgres容器初始化platform数据库sql脚本
|   |   |-- license                                # ibps-v3程序容器授权文件挂载目录
|   |   |-- log                                    # ibps-v3程序容器日志文件挂载目录
|   |   |-- logging                                # ibps-v3程序容器日志配置文件挂载目录
|   |   |-- other                                # 备份目录
|   |   |-- ui                                    # ibps-v3前端程序容器挂载目录

操作说明

  1. 修改脚本,将IP、授权密码替换为正确的值

    以mysql.sh为例:

    • 部署的服务器IP为192.168.3.207

    • 应用的授权密码为lc20191030

    • 修改mysql.sh文件
      原内容:

      start(){
        # 启动前请修改
        # IP替换
        sh replace.sh 192.168.3.230 192.168.3.230 mysql mysql lc2019 lc2019
        if [ $? != 0 ] ; then
          exit 1
        fi
      
        # 启动容器
        sh docker.compose.mysql.up.sh
        sh docker.compose.data.up.sh
        sh docker.compose.app.up.sh
      }

      替换后内容:

      start(){
        # 启动前请修改
        # IP替换
        sh replace.sh 192.168.3.230 192.168.3.207 mysql mysql lc2019 lc20191030
        if [ $? != 0 ] ; then
          exit 1
        fi
      
        # 启动容器
        sh docker.compose.mysql.up.sh
        sh docker.compose.data.up.sh
        sh docker.compose.app.up.sh
      }

      参数说明:
      sh replace.sh [程序打包时预设的IP地址] [程序运行时主机的IP地址] [程序打包时预设的数据库类型参数] [程序运行时的数据库类型参数] [程序打包时预设的授权密码] [程序运行时的授权密码]
      示例:
      sh replace.sh 192.168.3.230 192.168.3.207 mysql mysql lc2019 lc20191030
      注:

      • 程序第一次修改时预设IP是192.168.3.230、数据库类型是mysql、授权密码是lc2019
      • 程序多次修改时预设IP是上一次设置的值、数据库类型是上一次设置的值、授权密码是上一次设置的值
  2. 添加授权文件到./bin/license目录

    • 包含文件: ibpsPublic.storeibpsVfy.lic
  3. 脚本参数说明

    • start # 启动服务
    • restart # 重启服务
    • stop # 停止服务
  1. 脚本执行
    以mysql.sh为例:

     sh mysql.sh start        # 启动服务
     sh mysql.sh restart        # 重启服务
     sh mysql.sh stop        # 停止服务
     如果docker pull报错,请在修改docker守护进程配置/etc/docker/daemon.json。
    
     添加:
     {
         "insecure-registries": ["tools.bpmhome.cn:18082"]
     }

重启docker服务
systemctl daemon-reload;
systemctl restart docker;

如果执行shell脚本报错,提示”\r”,请使用dos2unix工具转换shell文件换行符;


验证说明

  • 部署的服务器IP以192.168.3.207为例;
  1. consul地址:http://192.168.3.207:38500 #查看服务注册;
    regist

  2. swagger地址:http://192.168.3.207:35100 # 查看在线文档;

  3. rabbit地址:http://192.168.3.207:15672 # 查看rabbit管理页;

  4. skywalking地址:http://192.168.3.207:38080 # 查看skywalking链路监控页;

  5. kibana地址:http://192.168.3.207:5601 # 查看kibana日志监控页;

  6. UI地址:http://192.168.3.207:380 # 查看应用首页并开始体验IBPS-V3产品;

注:

  • 相关端口均为默认配置,如需调整请自行修改对应的docker-compose配置文件,注意修正相关env文件以及关联的docker-compose文件。
  • mysql用户root密码在文件./bin/env/mysql.env中。
  • mssql用户sa密码在文件./bin/env/mssql.env中。
  • postgresql用户root密码在文件./bin/env/postgresql.env中。
  • oracle用户business密码在文件./bin/init/oracle/user-business.sh中。
  • oracle用户platform密码在文件./bin/init/oracle/user-platform.sh中。
  • rabbitmq用户ibps密码在文件./bin/docker-compose-data.yml中。
  • rabbitmq用户lcdatasoft密码在文件./bin/docker-compose-data.yml中。
  • 涉及端口的文件有./bin/*.yml./bin/replace.sh./bin/env/ibps.sw.env./bin/env/platform.docker.env./bin/env/provider.docker.env./bin/env/sw-oap.env./bin/env/sw-ui.env./bin/conf/kibana.yml./bin/conf/logstash.conf
  • 需要在不同网络环境访问需注意端口开放(38500/35100/380)、ui的访问地址需要使用公网或其他网络能访问的IP地址。
  • 如需使用已有服务,请自行修改docker-compose文件。