修改docker容器中的内容

2021-08-21 23:45:21

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
  1. 克隆仓库:
git clone https://gitee.com/kekingcn/file-online-preview.git
  1. 使用 IntelliJ IDEA 导入项目

  1. 修改文件:
    这里用的例子是预览失败时不显示页面上的联系方式。
    文件路径:server/src/main/resources/web/fileNotSupported.ftl
    修改内容:把官方 QQ 的内容去掉换成其它文案
  2. 启动项目查看修改效果:

文件预览失败提示:

  1. 最后执行 mvn clean package -DskipTests 打包,然后我们可以在 target 目录下看到编译好的jar包。

# 列出所有容器

接着我们找一下 kk 服务的容器:
执行 docker ps 查看所有正在运行的容器,找到名字是keking/kkfileview的那个,复制它的 ID

# 拷贝文件至容器

接着要先把文件从本地上传至宿主机服务器备用

scp kkFileView-4.0.0.jar root@*.*.*.*:/opt

然后从宿主机拷贝文件到容器

docker cp kkFileView-4.0.0.jar [容器ID]:/opt

再进入容器找到旧文件所在目录,进行替换

docker exec -it [容器ID] bash

cp /opt/kkFileView-4.0.0.jar  /opt/kkFileView-3.5.1/bin

最后只要重启容器就可以了

docker restart [容器ID]

# 建议

这里只是开发阶段时临时的一个修改方法,为了方便确认修改效果,真正使用的时候还是需要重新制作镜像进行部署

# 参考资料

本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。

扫描下方二维码阅读当前文章

浏览器、微信扫码

评 论:

好文推荐
每天进步一点点~