docker-compose 部署kkFileView,多服务器使用,并解决跨域

介绍

在这里插入图片描述

获取项目方式

1、花99米进入社区进行下载

2、进行git拉取项目,自己构建,不花钱!

https://gitee.com/kekingcn/file-online-preview/tree/master/
选择自己要的版本,我当前选择最新版本
在这里插入图片描述

构建docker镜像

进行项目打包

执行打包命令

mvn clean package -DskipTests

在这里插入图片描述
打包成功如下
在这里插入图片描述
有如下界面就成功了
在这里插入图片描述

制作镜像

在这里插入图片描述
准备jdk,一定要使用Dockerfile 中的jdk镜像,里面的jdk准备了字体等环境
在根目录执行(不要忘了下面命令的最后的小数点)

docker build -t keking/kkfileview:4.4.0-beta .

注:如果无法从Dockerfile 拉取jdk,可以先自己下载到本地,构建的时候优先走本地
在这里插入图片描述
在这里插入图片描述
构建镜像成功
打包镜像

打包镜像命令:docker save -o file.tar keking/kkfileview:4.4.0-beta
导入镜像命令:docker load -i file.tar

将打包好的镜像上传到服务器,使用导入镜像命令

在这里插入图片描述

docker-compose 部署

services:
  fileview:
    container_name: fileview
    image: keking/kkfileview:4.4.0-beta
    privileged: true
    restart: always
    ports:
      - "18012:8012"
    volumes:
      - ./data:/data/file
    environment:
      - TZ=Asia/Shanghai
      - KK_FILE_DIR=/data/file
      - KK_BASE_URL=/filePreview/
      - KK_CONTEXT_PATH=/filePreview
      #- JAVA_OPTS=-Xms1024m -Xmx2048m
    logging:
      driver: "json-file"
      options:
        max-size: "10M"
        max-file: "3"

参数说明
KK_FILE_DIR:文件上传后存储路径
KK_BASE_URL:nginx代理后加载路径
KK_CONTEXT_PATH:nginx代理需要前缀

跨域

注:
正常使用是KK_BASE_URL:http://127.0.0.1:18012/filePreview/,我这里使用的是前缀是没有使用ip+前缀,是因为我多个服务器在调用kkFileView服务,使用ip+前缀会出现跨域问题;如果都是在同一台服务器就可以不用设置KK_BASE_URL和KK_CONTEXT_PATH,可以忽略下面的操作
如果按照我的方法就要修改代码后重新打包构建镜像,如下
第一步:修改file-online-preview-v4.4.0-beta\server\src\main\resources\web这个里面的所有文件 添加 window.location.origin
作用就是获取当前浏览器的协议+ip+端口,通过代理获取服务端数据
在这里插入图片描述

第二步:file-online-preview-v4.4.0-beta\server\src\main\resources\web\main\index.ftl这里也要加一个 window.location.origin,不然首页的上传本地文件预览会预览不到
在这里插入图片描述在这里插入图片描述

前端调用访问
在这里插入图片描述
如果未修改这里的地址就是
http://127.0.0.1:18012/filePreview/getCorsFile?urlPath=aHR0cDovLzEzOS4xNTUuMjguMjAzOjkwMDAvampjZGMvJUU4JUFGJUI3JUU1JTgxJTg3JUU2JUI1JTgxJUU3JUE4JThCLkJQTU4%3D
会出现跨域

启动

docker-compose up -d

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值