kkFileView4.4.0 基础镜像及镜像创建、部署

该文章已生成可运行项目,

一、克隆仓库到本地
 

     建议通过gitee下载,速度会更快:

https://gitee.com/kekingcn/file-online-preview.git

二、构建基础镜像

进入到已下载目录的kkFileView\docker\kkfileview-base 文件夹下:

直接用官方的dockerfile构建,会报错。建议修改后再构建(参考了kkFileView4.4.0镜像创建_kkfileview-4.4.0-CSDN博客),修改后的dockerfile如下:
 

FROM registry.cn-shanghai.aliyuncs.com/mamy-ns/ubuntu:24.04

RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list &&\
    sed -i 's@//security.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list &&\
    sed -i 's@//ports.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        ca-certificates openjdk-8-jre tzdata locales xfonts-utils fontconfig \
        software-properties-common && \
    add-apt-repository ppa:libreoffice/ppa && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        libreoffice-nogui \
        libreoffice-core-nogui \
        fonts-noto \
        fonts-noto-cjk \
        fonts-wqy-microhei \
        fonts-dejavu

RUN echo 'Asia/Shanghai' > /etc/timezone &&\
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
    localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 &&\
    locale-gen zh_CN.UTF-8 &&\
    apt-get install -y --no-install-recommends ttf-mscorefonts-installer &&\
    apt-get install -y --no-install-recommends ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy &&\
        apt-get autoremove -y &&\
    apt-get clean &&\
    rm -rf /var/lib/apt/lists/*

# 内置一些常用的中文字体,避免普遍性乱码
ADD fonts/* /usr/share/fonts/chinese/

RUN cd /usr/share/fonts/chinese &&\
    # 安装字体
    mkfontscale &&\
    mkfontdir &&\
    fc-cache -fv

ENV LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8

执行如下命令创建基础镜像
 

docker build --tag keking/kkfileview-base:4.4.0 .

三、构建kkfileview镜像

用IDEA打开kkfileview项目,在idea 执行下面命令,生成 kkFileView-4.4.0.tar.gz
 

mvn clean package -DskipTests

进入到kkfileview 目录

执行构建镜像命令:
 

docker build -t kkfileview:4.4.0 .

四、运行验证
 

docker run -d -p 8013:8012 kkfileview:4.4.0

五、常见问题

1、错误 “Filename too long”

  •      原因:通常是因为文件名的长度超过了系统或应用程序的默认限制
  •     解决方式:kkFileView 依赖 LibreOffice 进行文档转换,而 LibreOffice 对文件路径长度有限制。我们可以通过修改 Java 的启动参数,为 LibreOffice 指定一个较短的工作临时目录。我是使用 Docker 部署 kkFileView,需要指定临时目录。
docker run -it -p 8013:8012 \
  -v /tmp/kkfileview:/tmp/kkfileview \  # 挂载主机上的短路径到容器内
  -e JAVA_OPTS="-Djava.io.tmpdir=/tmp/kkfileview -Dhome.temp.path=/tmp/kkfileview" \
  keking/kkfileview

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值