本文介绍如何在 Docker 中安装部署 FineBI。
需要准备 Tomcat 和 JDK 的安装包。Tomcat 和 JDK 版本要求如下表所示:
注:不支持 Tomcat 10.0 版本
本节步骤均在 Docker 所在服务器上进行。
1)新建 mydocker 文件夹, 将 Tomcat 和 JDK 的安装包解压到该文件夹下。如下图所示:
2)在 mydocker 文件夹下新建 Dockerfile 文件。文件内容如下图所示:
注:下面代码中 Tomcat 和 JDK 的文件名根据实际情况修改。
FROM centosMAINTAINER test#设置系统编码,不然地图显示有问题RUN yum install kde-l10n-Chinese -yRUN yum install glibc-common -yRUN 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-8ENV LC_ALL zh_CN.UTF-8#切换镜像目录,进入/usr目录WORKDIR /usr#在/usr/下创建jdk目录,用来存放jdk文件RUN mkdir jdk#在/usr/下创建tomcat目录,用来存放tomcatRUN 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/jdkENV JRE_HOME=$JAVA_HOME/jreENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATHENV PATH=$JAVA_HOME/bin:$PATH#拷贝jdk中的tools.jar到tomcat的lib中ADD jdk1.8.0_281/lib/tools.jar /usr/tomcat/lib/#暴露8080、48888端口,供容器外部连接使用EXPOSE 8080EXPOSE 48888#赋予可执行权限RUN chmod +x /usr/tomcat/bin/catalina.sh#启动tomcat服务器CMD ["/usr/tomcat/bin/catalina.sh","run"]
最终 mydocker 文件夹下,包含的内容如下图所示:
1)在 mydocker 目录下执行下面语句构建镜像:
docker build -t mydocker/tomcat:v1 .
2)使用docker images语句查看构建好的镜像。如下图所示:
3)通过创建好的镜像,启动一个容器。如下图所示:
docker run -d --name mydocker -p 8080:8080 mydocker/tomcat:v1
4)访问 Tomcat 地址:http://ip:8080。如下图所示:
注:本步骤为了检测未部署 webroot 时,Tomcat 能否启动成功。
5)关闭 Tomcat ,为下面部署 webroot 做准备。
docker ps -a #显示所有的容器,包括未运行的docker stop 46e45b9d9fad #停止一个正在运行的容器
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
访问http://ip:服务器端口号/工程名/decision,效果如下图所示:
推荐 私有云认证