最新历史版本 :Docker 部署 FineBI 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文介绍如何在 Docker 中安装部署 FineBI。

注:如需在docker容器上运行FineReport/FineBI,请确保内存大于8G。

2. Dockerfile 构建方式部署编辑

2.1 前期准备

需要准备 Tomcat 和 JDK 的安装包。Tomcat 和 JDK 版本要求如下表所示:

Tomcat 版本JDK 版本
8.0 (不支持 Tomcat 8.0.32 版本)JDK 1.8 且小版本需在 JDK8u102 以上
9.0

注:不支持 Tomcat 10.0 版本

2.2 部署 Tomcat

本节步骤均在 Docker 所在服务器上进行。

2.2.1 新建 Dockerfile 文件

1)新建 mydocker 文件夹, 将 Tomcat 和 JDK 的安装包解压到该文件夹下。如下图所示:

1640574645944175.png

2)在 mydocker 文件夹下新建 Dockerfile 文件。文件内容如下图所示:

注:下面代码中 Tomcat 和 JDK 的文件名根据实际情况修改。

FROM centos:7
MAINTAINER test
#设置系统编码,不然地图显示有问题
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
#RUN export.UTF-8
#RUN echo "export.UTF-8" >> /etc/locale.conf
#ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
#将宿主机的jdk目录下的文件拷贝至镜像的/usr/jdk目录下
ADD jdk1.8.0_281 /usr/jdk/
#将宿主机的tomcat拷贝至镜像的/usr/tomcat目录下
ADD apache-tomcat-9.0.44/ /usr/tomcat/
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$PATH
#拷贝jdk中的tools.jar到tomcat的lib中
ADD jdk1.8.0_281/lib/tools.jar /usr/tomcat/lib/
#暴露8080、48888端口,供容器外部连接使用
EXPOSE 8080
EXPOSE 48888
#赋予可执行权限
RUN chmod +x /usr/tomcat/bin/catalina.sh
#启动tomcat服务器
CMD ["/usr/tomcat/bin/catalina.sh","run"]

最终 mydocker 文件夹下,包含的内容如下图所示:

1640575373867845.png

2.2.2 构建镜像

1)在 mydocker 目录下执行下面语句构建镜像:

docker build -t mydocker/tomcat:v1 .

2)使用docker images语句查看构建好的镜像。如下图所示:

1640656852658175.png

3)通过创建好的镜像,启动一个容器。如下图所示:

docker run -d --name mydocker -p 8080:8080 mydocker/tomcat:v1

3.png

4)访问 Tomcat 地址:http://ip:8080。如下图所示:

注:本步骤为了检测未部署 webroot 时,Tomcat 能否启动成功。

7.png

5)关闭 Tomcat ,为下面部署 webroot 做准备。

docker ps -a #显示所有的容器,包括未运行的
docker stop 46e45b9d9fad #停止一个正在运行的容器

6.png

2.3 部署 webroot

1)Docker 所在服务器准备 webroot 文件夹,本文示例 webroot 文件夹在/home/zhongyao路径下。

注:建议将本地 webroot 文件夹压缩后再上传到 Docker 所在服务器上,再解压。

webroot 文件夹来源:

FineBI 安装 后,会在%FineBI_HOME%\webapps下生成 webroot 文件夹。用户可以重新下载 FineBI 获得 webroot 文件夹或者使用已有工程的 webroot 文件夹。

2)采用挂载方式部署 webroot:

注:该代码语句较长,建议用户复制到本地,根据实际情况修改路径。

docker run -it -d --name tomcat -p 8080:8080 -p 48888:48888 -v /home/zhongyao/webroot:/usr/tomcat/webapps/webroot mydocker/tomcat:v1

2.4 效果查看

访问http://ip:服务器端口号/工程名/decision,效果如下图所示:

7.png