云原生之使用Docker部署kkFileView在线文档管理平台

简介: 云原生之使用Docker部署kkFileView在线文档管理平台

一、kkFileView介绍

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等文件在线预览。

2.kkFileView特点

  • 支持 office, pdf, cad 等办公文档。
  • 支持 txt, xml(渲染), md(渲染), java, php, py, js, css 等所有纯文本。
  • 支持 zip, rar, jar, tar, gzip 等压缩包。
  • 支持 jpg, jpeg, png, gif, tif, tiff 等图片预览(翻转,缩放,镜像)。
  • 使用 spring-boot 开发,预览服务搭建部署非常简便。
  • rest 接口提供服务,跨语言、跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便。
  • 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持。
  • 支持Apache 协议开源

二、检查本地系统环境

1.检查系统版本

[root@docker ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

2.检查docker状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-10-31 03:28:51 CST; 2 days ago
     Docs: https://docs.docker.com
 Main PID: 11884 (dockerd)
    Tasks: 69
   Memory: 2.7G
   CGroup: /system.slice/docker.service
           ├─  2674 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8015 -container-ip 172.28.0.2 -container-port 8080
           ├─  2681 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8015 -container-ip 172.28.0.2 -container-port 8080
           ├─ 11884 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─ 34936 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.27.0.3 -container-port 80
           ├─ 34950 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.27.0.3 -container-port 80
           ├─114721 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9000 -container-ip 172.17.0.2 -container-port 9000
           ├─114726 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9000 -container-ip 172.17.0.2 -container-port 9000
           ├─125344 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5000 -container-ip 172.17.0.3 -container-port 5000
           └─125350 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5000 -container-ip 172.17.0.3 -container-port 5000

Nov 02 01:04:02 node dockerd[11884]: time="2022-11-02T01:04:02.488311529+08:00" level=warning msg="Health check for container b5103772dd...xceeded"
Nov 02 01:04:15 node dockerd[11884]: time="2022-11-02T01:04:15.531265106+08:00" level=error msg="stream copy error: reading from a closed fifo"
Nov 02 01:04:15 node dockerd[11884]: time="2022-11-02T01:04:15.534176422+08:00" level=error msg="stream copy error: reading from a closed fifo"
Nov 02 01:04:15 node dockerd[11884]: time="2022-11-02T01:04:15.545274180+08:00" level=warning msg="Health check for container b5103772dd...xceeded"
Nov 02 01:04:18 node dockerd[11884]: time="2022-11-02T01:04:18.585842485+08:00" level=info msg="ignoring event" container=b5103772dd9c15...kDelete"
Nov 02 01:04:32 node dockerd[11884]: time="2022-11-02T01:04:32.907844353+08:00" level=error msg="stream copy error: reading from a closed fifo"
Nov 02 01:04:32 node dockerd[11884]: time="2022-11-02T01:04:32.911808176+08:00" level=error msg="stream copy error: reading from a closed fifo"
Nov 02 01:04:33 node dockerd[11884]: time="2022-11-02T01:04:33.524510151+08:00" level=warning msg="Health check for container b5103772dd...unknown"
Nov 02 01:04:55 node dockerd[11884]: time="2022-11-02T01:04:55.780507781+08:00" level=info msg="ignoring event" container=5a9f357c0d2ba6...kDelete"
Nov 02 01:07:02 node dockerd[11884]: time="2022-11-02T01:07:02.501623848+08:00" level=info msg="ignoring event" container=346ef9741bfb9a...kDelete"
Hint: Some lines were ellipsized, use -l to show in full.


3.检查docker版本

[root@docker ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.18
 API version:       1.41
 Go version:        go1.18.6
 Git commit:        b40c2f6
 Built:             Thu Sep  8 23:14:08 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.18
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.6
  Git commit:       e42327a
  Built:            Thu Sep  8 23:12:21 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

三、安装docker-compose

1.下载docker-compose二进制包

 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@docker docker-compose]#  curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   423  100   423    0     0    362      0  0:00:01  0:00:01 --:--:--   362
100 16.2M  100 16.2M    0     0  8568k      0  0:00:01  0:00:01 --:--:-- 8568k

2.给文件增加执行权限

chmod +x /usr/local/bin/docker-compose 

3.检查docker-compose版本

[root@docker ~]# docker-compose version
docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

四、下载kkFileView镜像

[root@node fileview]# docker pull keking/kkfileview
Using default tag: latest
latest: Pulling from keking/kkfileview
7b1a6ab2e44d: Already exists 
b9d750c8748d: Pull complete 
57d39c371cd2: Pull complete 
816e525228e0: Pull complete 
Digest: sha256:d87d106e51c78afb41c4e39d1b043d4b1bf24c7a931874e945149e2bd7e62f4f
Status: Downloaded newer image for keking/kkfileview:latest
docker.io/keking/kkfileview:latest

五、部署kkFileView

1.创建数据目录

mkdir -p /data/fileview

2.创建kkFileView容器

docker run -d  --name nervous_swartz --restart always  -p 8012:8012 keking/kkfileview

3.查看容器状态

[root@node fileview]# docker ps
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS                  PORTS                                             NAMES
fa8894458ec0   keking/kkfileview                      "java -Dfile.encodin…"   12 minutes ago   Up 12 minutes           0.0.0.0:8012->8012/tcp, :::8012->8012/tcp         nervous_swartz

六、访问kkFileView的web

在这里插入图片描述

七、测试预览上传图片

在这里插入图片描述

在这里插入图片描述

相关文章
|
7天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
13天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
77 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
25天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1月前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
37 2
|
2月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
2月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
53 5
|
2月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
51 3
|
1月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
30天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
48 3

热门文章

最新文章