Docker安装kkfileview

三步安装kkfile

  1. 下载kkfileview镜像包(换了LibreOffice插件,修复了官方镜像启动问题)
  2. 下载链接:https://pan.baidu.com/s/1DJqvNjdQBZ9Ayv5-XGKPwA?pwd=f98q
  3. 导入镜像:docker load < custom-kkfileview.tar
  4. 编写docker-compose文件:vi docker-compose.yml
version: "3"
services:
  kkfileview:
    image: custom/kkfileview:latest
    container_name: kkfileview
    ports:
      - "18012:8012"
  1. 启动服务:docker-compose up -d
  2. 打开网页查看:http://192.168.142.31:18012/index
    在这里插入图片描述

注意:至此kkfileview已经部署安装完成,下面是整个镜像打包部署踩坑历程

官网源码调整

  1. 官网下载源码:https://gitee.com/kekingcn/file-online-preview/tree/master/#github
  2. 使用idea打开,打包编译完,直接运行主服务:ServerMain
    在这里插入图片描述

3.如果启动失败,可能是端口被占用了,可以将2001和2002端口kill,再重启

  • 打开cmd或powershell(推荐使用powershell,cmd会少很多包)
  • 查找端口占用情况:netstat -ano | findstr ‘2001 2002’
  • 将占用进程全部kill:taskkill /T /F /PID 12220
    在这里插入图片描述
  1. 浏览器查看:http://127.0.0.1:8012/index
    在这里插入图片描述

  2. 根据网页的发版记录显示以及项目的Dockerfile表明,底层集成OpenOffice替换为LibreOffice,但是office-plugin依赖用的还是openoffice?
    在这里插入图片描述

  3. 问题解决,把office-plugin依赖中的openoffice换成LibreOffice
    在这里插入图片描述

<dependency>
    <groupId>org.libreoffice</groupId>
    <artifactId>libreoffice</artifactId>
    <version>7.1.4</version>
</dependency>
  1. 重新打包

镜像制作

(服务器文件预览)
在这里插入图片描述

  1. 将打好的包(fonts目录以及server/targetkkFileView-4.1.0-SNAPSHOT.tar.gz)上传到服务器中
    在这里插入图片描述

  2. 编写镜像文件:vi Dockerfile

FROM ubuntu:20.04
MAINTAINER chenjh "842761733@qq.com"
ADD ./kkFileView-*.tar.gz /opt/
ADD ./fonts/* /usr/share/fonts/chinese/
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse\ndeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse\ndeb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" > /etc/apt/sources.list &&\
        apt-get clean && apt-get update &&\
        apt-get install -y locales && apt-get install -y language-pack-zh-hans &&\
        localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 && locale-gen zh_CN.UTF-8 &&\
    export DEBIAN_FRONTEND=noninteractive &&\
        apt-get install -y tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
        apt-get install -y libxrender1 && apt-get install -y libxt6 && apt-get install -y libxext-dev && apt-get install -y libfreetype6-dev &&\
        apt-get install -y wget && apt-get install -y ttf-mscorefonts-installer && apt-get install -y fontconfig &&\
        apt-get install ttf-wqy-microhei &&\
        apt-get install ttf-wqy-zenhei &&\
        apt-get install xfonts-wqy &&\
    cd /tmp &&\
        wget https://kkfileview.keking.cn/server-jre-8u251-linux-x64.tar.gz &&\
        tar -xf /tmp/server-jre-8u251-linux-x64.tar.gz && mv /tmp/jdk1.8.0_251 /usr/local/ &&\

#       安装 OpenOffice
#       wget https://kkfileview.keking.cn/Apache_OpenOffice_4.1.6_Linux_x86-64_install-deb_zh-CN.tar.gz -cO openoffice_deb.tar.gz &&\
#       tar -xf /tmp/openoffice_deb.tar.gz && cd /tmp/zh-CN/DEBS &&\
#       dpkg -i *.deb && dpkg -i desktop-integration/openoffice4.1-debian-menus_4.1.6-9790_all.deb &&\

#       安装 libreoffice
    apt-get install -y libxinerama1 libcairo2 libcups2 libx11-xcb1 &&\
    wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_deb.tar.gz -cO libreoffice_deb.tar.gz &&\
    tar -xf /tmp/libreoffice_deb.tar.gz && cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_deb/DEBS &&\
    dpkg -i *.deb &&\

    rm -rf /tmp/* && rm -rf /var/lib/apt/lists/* &&\
    cd /usr/share/fonts/chinese &&\
    mkfontscale &&\
    mkfontdir &&\
    fc-cache -fv
ENV JAVA_HOME /usr/local/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
ENV KKFILEVIEW_BIN_FOLDER /opt/kkFileView-4.1.0-SNAPSHOT/bin

CMD ["java","-Dfile.encoding=UTF-8","-Dspring.config.location=/opt/kkFileView-4.1.0-SNAPSHOT/config/application.properties","-jar","/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar"]

下载的源码Dockerfile中,最后的启动命令用的是ENTRYPOINT,但是构建出来的镜像一直启动不起来,后面改成CMD竟然意外ok~,注意docker-comopose不用用command命令,防止将启动命令覆盖
3. 编写镜像构建文件:vi build.sh

docker stop kkfileview
docker rm kkfileview
docker rmi custom/kkfileview
docker build -t custom/kkfileview .
  1. 执行脚本,构建镜像(这个需要等很长时间下载依赖):sh build.sh

  2. 查看镜像是否成功构建:docker images
    在这里插入图片描述

  3. 导出镜像:docker save -o custom-kkfileview.tar custom/kkfileview
    至此整个kkfileview的镜像制作完成~

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值