前言

因某些需求需要一款文档管理与索引工具, 遂相中了科艺知识库, 并且构建了一份科艺知识库 arm64 架构版的, 记录构建过程.

部署

部署先放前面, 防止未来有急切的看客.

  1. 克隆源码:

  2. Docker 编排:

    1
    2
    3
    4
    5
    6
    7
    8
    # 克隆代码
    git clone https://git.thatcdn.cn/open/kykms.git

    # 工作目录
    cd ./kykms/deploy

    # 启动编排: 镜像已经适配 amd64/arm64 双版本 根据平台自动拉取
    docker compose up -d

构建

若看客系统架构非 amd64/arm64, 可参考构建过程.

elasticsearch

  1. 在 kykms/deploy/ES 目录下 Dockerfile 文件可知, arm64 架构没有 elasticsearch:7.6.1 版本, 遂换成 7.8.1
  2. 相应的 ES 目录下 elasticsearch.tar 打包的 analysis-ik 这个插件也需要换成对应的版本, 这个网址有存档 analysis-ik 全版本 => analysis-ik-all
  3. 下载对应的 analysis-ik.zip 解压再压缩为 analysis-ik.tar 替换原来的, 注意压缩包展开就是全部文件, 不要封一层目录.
  4. 至此修改 Dockerfile 并且构建得到 kykms-es
    es-build
    1
    2
    3
    4
    5
    6
    # 更新对应镜像
    FROM elasticsearch:7.8.1
    # 利用 ADD 自动解压到目标目录
    ADD elasticsearch.tar /usr/share/elasticsearch/plugins/analysis-ik
    # 默认工作目录,以免影响 ES 启动
    WORKDIR /usr/share/elasticsearch

mysql

在 kykms/deploy/DB 目录下 Dockerfile, 检查 mysql:5.7 是否有对应架构版本. 直接构建得到 kykms-mysql

redis

随便用一个版本为6就行, 构建得到 kykms-redis

web

  1. 在 kykms/ant-design-vue-jeecg 目录下用node构建前端项目得到 dist
  2. 构建镜像得到 kykms-web

api

  1. 在 kykms/jeecg-boot 目录下用maven/java构建后端项目得到 jar, 用 java8 的基础镜像安装libreoffice库 (WORD转PDF的). 我的建议是随便一个amd设备运行 registry.cn-guangzhou.aliyuncs.com/kyxxjs/kykms:comm 取得对应的 jar 和 字体, 省去构建过程.
  2. 构建镜像得到 kykms-api
    api-build
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    FROM docker.io/eclipse-temurin:8u472-b08-jdk
    LABEL maintainer="Joney K."
    # 因为是 ARM64 架构,apt 源必须指向 ports.ubuntu.com
    # 显式替换为对应架构加速源
    RUN sed -i 's/archive.ubuntu.com/ports.ubuntu.com/g' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/ports.ubuntu.com/g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends libreoffice fontconfig && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    COPY ./simsun.ttc /usr/share/fonts/simsun.ttc
    RUN fc-cache -fv
    WORKDIR /kykms
    COPY ./jeecg-boot-module-system-2.4.5.jar ./app.jar
    EXPOSE 8080
    CMD ["java", "-Dfile.encoding=utf-8", "-jar", "app.jar"]

编排

替换 kykms/deploy/docker-compose.yml 里面的 image, 都换成新构建的即可


本站由 钟意 使用 Stellar 1.33.1 主题创建。
又拍云 提供CDN加速/云存储服务
vercelnetlifycloudflare 提供托管服务
湘ICP备2023019799号-1
总访问