修改docker容器中的内容

2021-08-23 10:46:16 浏览数 (1)

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. 克隆仓库:
代码语言:javascript复制
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

# 拷贝文件至容器

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

代码语言: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
  • 官方文档

0 人点赞