kkFileView 容器内容修改方法
- 前言
- 项目修改
- 列出所有容器
- 拷贝文件至容器
- 建议
- 参考资料
# 前言
kkFileView 是使用 spring boot 打造文件文档在线预览项目解决方案,支持 doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3 以及众多类文本如 txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore 等文件在线预览。然而在使用过程中偶尔会有一些定制化的需求或者其它优化,比如文件丢失后打开预览时的 404 页面会出现 kkFileView 的群号,需要去除。然后因为预览服务是跑在 docker 里的所以就需要修改之后把容器中的 jar 包替换掉。如果你也有类似的需求可以参考一下。
# 项目修改
修改项目需要配置一下本地环境,提前安装好依赖(Mac 环境需要):
- java 1.8
- OpenOffice 或 LiberOffice
- maven
- 克隆仓库:
git clone https://gitee.com/kekingcn/file-online-preview.git
- 使用 IntelliJ IDEA 导入项目
- 修改文件:
这里用的例子是预览失败时不显示页面上的联系方式。
文件路径:
server/src/main/resources/web/fileNotSupported.ftl
修改内容:把官方 QQ 的内容去掉换成其它文案 - 启动项目查看修改效果:
文件预览失败提示:
- 最后执行
mvn clean package -DskipTests
打包,然后我们可以在 target 目录下看到编译好的jar
包。
# 列出所有容器
接着我们找一下 kk 服务的容器:
执行 docker ps
查看所有正在运行的容器,找到名字是keking/kkfileview
的那个,复制它的 ID
# 拷贝文件至容器
接着要先把文件从本地上传至宿主机服务器备用
代码语言:javascript复制scp kkFileView-4.0.0.jar root@*.*.*.*:/opt
然后从宿主机拷贝文件到容器
代码语言:javascript复制docker cp kkFileView-4.0.0.jar [容器ID]:/opt
再进入容器找到旧文件所在目录,进行替换
代码语言:javascript复制docker exec -it [容器ID] bash
cp /opt/kkFileView-4.0.0.jar /opt/kkFileView-3.5.1/bin
最后只要重启容器就可以了
代码语言:javascript复制docker restart [容器ID]
# 建议
这里只是开发阶段时临时的一个修改方法,为了方便确认修改效果,真正使用的时候还是需要重新制作镜像进行部署
# 参考资料
- kkFileView
- 官方文档