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

目录:

1、描述编辑

操作场景:此文档指导安装工程师在docker中安装部署FineBI;

前提条件:已经成功部署Docker,可参考Docker简介和部署

部署概要:本文提供两种部署方式:1)docker pull tomcat方式部署;2)通过 Dockerfile 构建方式部署;

2、拉取镜像方式部署编辑

2.1 安装Tomcat

  1. 使用如下命令,拉取Tomcat的镜像;

    docker pull tomcat
  2. 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的镜像。

    docker images | grep tomcat

    1.png

2.2 部署webroot

  1. 由于直接把webroot拷贝至容器中的tomcat/webapps/下面,重启容器的话,配置都会丢失掉,所以这里使用挂载的方式部署webroot。(即需要在宿主机上放置要部署的webroot,使用如下命令

    docker run -it -d --name tomcat -p 7899:8080 -p 48888:48888 -v /opt/tomcat8/webapps/webroot:/usr/local/tomcat/webapps/webroot tomcat
  2. 输入如下命令进入docker容器:

    docker exec -it tomcat /bin/bash
  3. 给tomcat的lib里面放入FineBI需要的tools.jar:

    cp /usr/local/openjdk-8/lib/tools.jar /usr/local/tomcat/lib/
  4. 重启容器(tomcat):

    docker restart 容器ID
  5. 至此FineBI部署完成,重启的话,可以选择进入容器重启tomcat,也可以选择重启容器;

3、Dockerfile 构建部署编辑

3.1 部署Tomcat

  1. 新建文件夹test,将需要使用的tomcat还有jdk放到新建的文件夹中,如下图:

    1.png

  2. 在该目录下新建Dockerfile文件:

    touch Dockerfile

    Dockerfile文件内容如下所示:

    FROM centos
    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_131 /usr/jdk/
    #将宿主机的tomcat拷贝至镜像的/usr/tomcat目录下
    ADD tomcat8/ /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_131/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"]
  3. 在test目录执行如下命令构建镜像:

    docker build -t test/tomcat:v1 .

    1.png

  4. 查看创建好的镜像:

    docker images
  5. 通过创建好的镜像,启动容器:

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

    1.png

  6. 访问tomcat地址,如下图:

    1.png

3.2 部署webroot

  1. 使用如下命令进入容器内部:

    docker exec -it 23cf05f9b214 /bin/bash

    1.png

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

    docker run -it -d --name tomcat -p 8080:8080 -p 48888:48888 -v /opt/tomcat8/webapps/webroot:/usr/tomcat/webapps/webroot test/tomcat:v1
  3. 重启容器(tomcat):

    docker restart 容器ID