Docker 部署kkfileview

功能需求:线上文件预览,文件格式包括wps,pdf等。

项目环境:Vue+SpringBoot

解决方案:

  1. 将所有格式统一转换成pdf后提供预览,因为pdf是可以直接在网页上进行预览的。
  2. 使用第三方服务
  3. 使用vue的预览组件,类似pdf.js等插件。

最终决定选择kkfileview来实现这个功能。 

官网文档

kkFileView - 在线文件预览 (keking.cn)

部署脚本官方推荐的是docker run -it -p 8012:8012 keking/kkfileview:4.1.0

但在实际部署的过程中,按照官方的脚本部署时遇到了网络连接超时的问题。

所以个人建议 使用 docker run -d --net=host keking/kkfileview:4.1.0 用主机映射的方式来部署服务。也可以将kkfile服务与vue服务以及java服务部署在同一个网桥下来部署

文档中说当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url。但对于这个url的描述太过模糊。

首先明确一点,因为是docker环境下的服务。各个服务之间的调用都是在容器中实现的。因此我们真正访问的url地址是容器中的内部文件。体现在项目上,我们访问的就是前端vue容器内部或者后端服务内部的文件。

假设文件前端容器的/home/file/下,而nginx监听的端口是9000。首先nginx需要配置地址

location /file/ {
    root /home;
}

那么我们请求的url就是  ip:9000/file/filename

实际使用体验:我在实际部署中遇到的问题是网络连接超时,最后通过Host模式来解决的网络超时问题。官方提供的示例值是一个单服务应用,部署脚本是 -it的形式,与实际生产部署方式差距较大,在遇到问题后很难解决。官方活跃度不高,对于在部署中遇到的问题很难得到解答。项目组提供了知识星球服务,可能加入星球后得到的响应能够更及时

你可能感兴趣的:(docker,容器,运维)