From dd533d9eab906b0636f0ca86dbf8fe5b03d37ef8 Mon Sep 17 00:00:00 2001 From: KennyLee Date: Fri, 26 Mar 2021 16:37:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96finebi=E9=95=9C=E5=83=8F?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E6=89=A9=E5=B1=95=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- finebi/Dockerfile | 4 ++++ finebi/README.md | 4 +++- finebi/docker-compose.yml | 2 +- finebi/libs/.gitignore | 2 ++ finebi/run.sh | 14 ++++++++++++-- 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 finebi/libs/.gitignore diff --git a/finebi/Dockerfile b/finebi/Dockerfile index 752d5c0..85b3a27 100755 --- a/finebi/Dockerfile +++ b/finebi/Dockerfile @@ -9,6 +9,7 @@ RUN \ rm -rf /var/lib/apt/lists/* ENV CATALINA_HOME /opt/tomcat +ENV EXTAR_JAR_DIR /libs WORKDIR ${CATALINA_HOME} ENV JAVA_OPTS="-Djava.security.egd=file:///dev/urandom -server -Xms128m -Xmx1532m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/findbi/finebi_heapdump" @@ -21,6 +22,9 @@ COPY app/webroot.zip /tmp/ COPY run.sh /run.sh RUN chmod +x /*.sh +RUN mkdir -p ${EXTAR_JAR_DIR} +COPY ./libs/*.jar ${EXTAR_JAR_DIR} + VOLUME ${CATALINA_HOME}/webapps/ CMD ["/run.sh"] \ No newline at end of file diff --git a/finebi/README.md b/finebi/README.md index cc1763a..18bde4d 100644 --- a/finebi/README.md +++ b/finebi/README.md @@ -8,7 +8,9 @@ FineBI是新一代自助式BI工具...略 ## 镜像构建 -由于FineBI官方提供安装的特殊性,不能在Dockerfile完成安装。目前采取方式是,手动执行官网安装包后,压缩webroot目录再打包到镜像内进行使用。 +由于FineBI官方提供安装的特殊性,不能在Dockerfile完成安装。*因为应用中使用到的一些数据直接存储到应用目录下,如果覆盖应用就会直接把应用初始化。* + +目前采取方式是,手动执行官网安装包后,压缩webroot目录再打包到镜像内进行使用。 PS: `webroot.zip`过大,不提交上去了。更新的时候,若没特殊安装变动,只要替换这个文件即可。 diff --git a/finebi/docker-compose.yml b/finebi/docker-compose.yml index 5be8269..50d7482 100644 --- a/finebi/docker-compose.yml +++ b/finebi/docker-compose.yml @@ -1,7 +1,7 @@ version: '2' services: app: - image: registry.cn-hangzhou.aliyuncs.com/kennylee/finebi + image: registry.timekey.com.cn:5000/timekey/finebi:v5.1.10 ports: - "8080:8080" environment: diff --git a/finebi/libs/.gitignore b/finebi/libs/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/finebi/libs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/finebi/run.sh b/finebi/run.sh index 2b9f4df..cde7842 100644 --- a/finebi/run.sh +++ b/finebi/run.sh @@ -1,7 +1,15 @@ #!/bin/bash # 不修改webroot的名字,不然DEMO页面都会有影响,除非不看全部demo -FINEBI_DIR="${CATALINA_HOME}/webapps/webroot" +FINEBI_NAME="webroot" +WEB_HOME="${CATALINA_HOME}/webapps" +FINEBI_DIR="${WEB_HOME}/${FINEBI_NAME}" +EXTRA_JAR_DIR="/libs" + +if [[ -f ${WEB_HOME}/reinstall ]]; then + rm -rf ${FINEBI_DIR} && + rm -f ${WEB_HOME}/reinstall +fi if [[ ! -d $FINEBI_DIR ]]; then echo "finebi app not installed." @@ -9,9 +17,11 @@ if [[ ! -d $FINEBI_DIR ]]; then # 压缩包是从windows获得并且打包的,所以有乱码问题。解压时指定编码。 cd /tmp && unzip -O GB18030 webroot.zip && - mv webroot ${FINEBI_DIR} + mv /tmp/webroot ${FINEBI_DIR} cp ${JAVA_HOME}/lib/tools.jar ${FINEBI_DIR}/WEB-INF/lib + # 拷贝附加jar包(如驱动)到应用 + cp ${EXTRA_JAR_DIR}/*.jar ${FINEBI_DIR}/WEB-INF/lib fi exec ${CATALINA_HOME}/bin/catalina.sh run