找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

973

积分

0

好友

121

主题
发表于 4 小时前 | 查看: 3| 回复: 0

一、拉取源码

1. 官网信息

2. 开发环境准备

本教程假设你已具备基本的开发环境,包括 JDK、IDE(如 IntelliJ IDEA)、Maven 和 Docker。这些环境的安装与配置请参考相关文档。

3. 项目目录结构

使用 IDE(如 IntelliJ IDEA)打开下载的源码项目。

kkFileView项目目录结构

二、构建镜像

1. 构建kkfileview-base基础镜像

为了提高构建效率,kkFileView 采用了多阶段构建思路。基础运行环境(kkfileview-base)变动较少但构建耗时,而应用代码频繁更新,因此将两者分离。

1.1. 准备基础镜像

首先,查看 docker/kkfileview-base 目录下的 Dockerfile 文件,确认其使用的基础镜像。

kkfileview-base目录下的Dockerfile

可以看到,当前版本(以4.4.0为例)使用的是 ubuntu:24.04 镜像。

Dockerfile内容截图,显示基础镜像为ubuntu:24.04

执行以下命令拉取基础镜像:

docker pull ubuntu:24.04

拉取完成后,使用 docker images 命令确认镜像已存在。

查看已拉取的ubuntu:24.04镜像

1.2. 构建基础镜像

进入 kkfileview-base 目录,准备构建。

进入kkfileview-base目录

执行以下命令开始构建基础镜像,注意标签 keking/kkfileview-base:4.4.0 需要与后续构建应用镜像的 Dockerfile 中指定的基础镜像标签保持一致。

docker build --tag keking/kkfileview-base:4.4.0 .

外层构建kkfileview的Dockerfile,显示基础镜像标签

构建过程会持续较长时间,因为它需要安装 Java 运行时、中文字体等依赖。

Docker构建kkfileview-base过程截图

当终端输出 FINISHED 字样时,表示构建完成。

Docker构建kkfileview-base完成提示

再次使用 docker images 命令确认镜像已成功生成。

查看构建成功的keking/kkfileview-base:4.4.0镜像

至此,基础镜像 kkfileview-base 构建完毕。

2. 构建kkfileview应用镜像

基础镜像准备好后,接下来需要打包应用代码并构建最终的应用镜像。

2.1. 使用Maven打包项目

在 IDE 中,使用 Maven 执行 package 命令,将源码打包成可部署的压缩包。

在IDEA中使用Maven执行package命令

打包成功后,可在终端或构建日志中看到 BUILD SUCCESS 信息。

Maven打包成功日志

确认在 server/target/ 目录下生成了 kkFileView-4.4.0.tar.gz 等文件。

打包后target目录下的文件列表

2.2. 构建应用镜像

切换到项目根目录(即包含外层 Dockerfile 的目录)。

项目根目录文件列表

执行以下命令构建最终的 kkfileview 应用镜像:

docker build --tag kkfileview:4.4.0 .

开始构建kkfileview应用镜像

构建完成后,会输出 FINISHED 和镜像摘要信息。

kkfileview应用镜像构建完成日志

使用 docker images 命令查看,确认名为 kkfileview,标签为 4.4.0 的镜像已存在。

查看构建成功的kkfileview:4.4.0镜像

至此,可用于部署的 Docker 镜像已准备就绪。

三、部署kkFileView服务

我们将构建好的镜像部署到服务器上。

1. 导出镜像文件

在本地开发机,将镜像导出为 .tar 文件,方便传输。

docker save -o D:/kkfileview.tar kkfileview:4.4.0

执行成功后,在指定目录下会生成 kkfileview.tar 文件。

导出的kkfileview.tar镜像文件

2. 上传并导入到服务器

kkfileview.tar 文件上传到目标服务器的指定目录,例如 /www/wwwroot/kfv.greendevtool.cn/

服务器上的文件列表,包含kkfileview.tar

在服务器上,执行以下命令导入镜像:

docker load -i kkfileview.tar

在服务器上使用docker load命令导入镜像

3. 提取默认配置文件

为了能够挂载自定义配置,我们需要先从镜像中提取出默认的配置文件。

首先,创建一个临时容器来访问其内部文件:

docker run -d -p 8012:8012 kkfileview:4.4.0

命令会返回一个容器ID,请记录它(下例中使用的是 c9fc,请替换为你实际的容器ID)。

创建临时容器用于拷贝配置文件

接着,从运行中的容器里将默认配置文件复制到宿主机当前目录的 conf 文件夹下:

mkdir conf && docker cp c9fc:/opt/kkFileView-4.4.0/config/application.properties ./conf/application.properties

注意:命令中的容器ID(c9fc)需要替换为上一步实际生成的容器ID。

从容器中拷贝application.properties配置文件

配置文件拷贝完成后,删除这个临时容器:

docker rm -f c9fc

4. 编写Docker Compose编排文件

使用 Docker Compose 可以更方便地管理容器。在服务器项目目录下创建 docker-compose.yaml 文件:

version: "3.9"
services:
  kkfileview:
    image: kkfileview:4.4.0
    container_name: kkfileview
    restart: unless-stopped
    ports:
      - "8012:8012"
    volumes:
      - ./conf/application.properties:/opt/kkFileView-4.4.0/config/application.properties
    environment:
      - TZ=Asia/Shanghai

提示:高版本 Docker Compose 可能提示 version 属性已过时,可以将其移除,不影响使用。

5. 服务的启动、关闭与日志查看

5.1. 启动服务

docker-compose.yaml 文件所在目录,执行以下命令启动服务:

docker-compose up -d

使用docker-compose up -d启动服务

服务启动后,在浏览器中访问 http://你的服务器IP:8012,如果看到 kkFileView 的官方介绍页面和支持的文件类型列表,说明部署成功。

kkFileView服务部署成功后的官方页面

5.2. 停止服务

要停止并移除由 Compose 创建的容器和网络,可以执行:

docker-compose down

使用docker-compose down停止服务

5.3. 查看服务日志

若要实时查看容器日志以排查问题,可以使用:

docker-compose logs -f

查看kkFileView容器启动日志

通过以上步骤,你已经完成了从源码编译、构建 Docker 镜像到最终服务器部署 kkFileView 在线预览服务的全过程。这套方法也适用于其他需要自定义构建的 Java 应用容器化部署场景。如果在实践中遇到问题,欢迎到技术社区交流讨论。




上一篇:ECBM易移植Modbus-RTU库移植实战:STM8平台图文详解与自定义配置
下一篇:印度eScan杀毒软件更新基础设施遭入侵,引发供应链攻击
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-7 20:38 , Processed in 0.308398 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表