1、目录结构

目录结构
|-- docker-compose
|   |-- readMe.md        # 说明文档
|   |-- mysql.sh        # 数据存储使用mysql5.7的启动脚本
|   |-- oracle.sh        # 数据存储使用oracle11g的启动脚本
|   |-- mssql.sh        # 数据存储使用sqlserver2107的启动脚本
|   |-- postgre.sh        # 数据存储使用postgresql12的启动脚本
|   |-- bin                # 具体配置及脚本目录
|   |   |-- docker-compose-app.yml        # docker-compose文件,iform程序配置
|   |   |-- 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脚本文件,iform程序停止
|   |   |-- docker.compose.app.logs.sh        # shell脚本文件,iform程序日志查看
|   |   |-- docker.compose.app.up.sh        # shell脚本文件,iform程序启动
|   |   |-- 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                            # iform程序容器内数据源配置文件目录
|   |   |   |-- 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容器环境变量文件
|   |   |   |-- iform.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                # iform程序容器环境变量文件
|   |   |   |-- 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                                # iform程序容器授权文件挂载目录
|   |   |-- log                                    # iform程序容器日志文件挂载目录
|   |   |-- logging                                # iform程序容器日志配置文件挂载目录
|   |   |-- other                                # 备份目录
|   |   |-- ui                                    # iform前端程序容器挂载目录

2、操作说明

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

以mysql.sh为例:

  • 部署的服务器IP为192.168.1.202;

  • 应用的授权密码为ak20231030;

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

    start(){
    # 启动前请修改
    # IP替换
    sh replace.sh 192.168.1.230 192.168.1.230 mysql mysql ak2023 ak2023
    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.1.230 192.168.1.202 mysql mysql ak20231030 ak20231030
  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.1.230 192.168.1.202 mysql mysql ak2023 ak20231030
注:

程序第一次修改时预设IP是192.168.1.230、数据库类型是mysql、授权密码是ak2023
程序多次修改时预设IP是上一次设置的值、数据库类型是上一次设置的值、授权密码是上一次设置的值

3、添加授权文件

将授权文件添加到./bin/license目录,包含文件:iformPublic.store、iformVfy.lic

  • 脚本参数说明

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

    sh mysql.sh start        # 启动服务
    sh mysql.sh restart        # 重启服务
    sh mysql.sh stop        # 停止服务

    如果docker pull报错,请在修改docker守护进程配置/etc/docker/daemon.json。

    添加:
    {
    “insecure-registries”: [“tools.ankepower.com:18082”]
    }

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

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

4、验证说明

验证说明
部署的服务器IP以192.168.1.202为例;

注意说明:

相关端口均为默认配置,如需调整请自行修改对应的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用户iform密码在文件./bin/docker-compose-data.yml中。
rabbitmq用户lcdatasoft密码在文件./bin/docker-compose-data.yml中。

涉及端口的文件有./bin/*.yml、./bin/replace.sh、./bin/env/iform.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文件。

作者:hugh  创建时间:2024-01-03 09:56
最后编辑:黄春艳  更新时间:2024-11-21 21:15