修改docker容器中的内容

举报
薛定喵君 发表于 2021/08/22 16:53:59 2021/08/22
【摘要】 kkFileView 容器内容修改方法 背景 项目修改 列出所有容器 拷贝文件至容器 建议 参考资料 背景kkFileView 是使用 spring boot 打造文件文档在线预览项目解决方案,支持 doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3 以及众多类文本如 txt、html、xml、java、properties、sql、js、md、json、c...

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]

建议

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

参考资料

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。