跳到主要内容

LibreOffice 挂载字体包

一、创建字体包目录

  1. 在服务器上创建字体包目录并上传字体包

    mkdir -p /data/mingdao/script/volume/ldoc/font-packages
    • 字体包存放到 /data/mingdao/script/volume/ldoc/font-packages 目录下

二、配置步骤

基于 HAP 单机环境配置

  1. vim /data/mingdao/script/docker-compose.yaml 新增挂载 - ./volume/ldoc/font-packages/:/usr/share/fonts/font-packages/

     services:
    app:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-community:6.5.2
    environment:
    ENV_DOCPREVIRE_EXT_ENDPOINTS: "ldoc:8000"

    ldoc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-ldoc:2.0.2
    volumes: # 新增
    - ./volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ # 新增
  2. 然后重启hap服务使之生效

    管理器目录下执行重启命令

     bash ./service.sh restartall

基于 Docker 独立部署 ldoc 服务

  1. vim ldoc.yaml 新增挂载 - /data/mingdao/script/volume/ldoc/font-packages/:/usr/share/fonts/font-packages/

    version: '3'

    services:
    ldoc:
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-ldoc:2.0.2
    ports:
    - 8881:8000
    volumes: # 新增
    - /data/mingdao/script/volume/ldoc/font-packages/:/usr/share/fonts/font-packages/ # 新增
  2. 然后重启 LibreOffice 服务使之生效

    ldoc.yaml 所在目录下执行重启命令

     # 1.停止ldoc
    docker stack rm ldoc

    # 2.检查ldoc
    docker ps -a | grep ldoc

    # 3.待2步骤中检查无ldoc容器后,启动ldoc
    docker stack deploy -c ldoc.yaml ldoc

基于Kubernetes部署ldoc服务

注意创建字体包目录 这一步骤,微服务每个节点都要操作并上传字体包

  1. 修改 deploymentldoc 的挂载配置,采用 hostpath 方式挂载

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: ldoc
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: ldoc
    template:
    metadata:
    labels:
    app: ldoc
    spec:
    containers:
    - name: ldoc
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-ldoc:2.0.2
    resources:
    limits:
    cpu: "4"
    memory: 4096Mi
    requests:
    cpu: "0.01"
    memory: 64Mi
    readinessProbe:
    tcpSocket:
    port: 8000
    initialDelaySeconds: 10
    periodSeconds: 10
    livenessProbe:
    tcpSocket:
    port: 8000
    initialDelaySeconds: 180
    periodSeconds: 10
    volumeMounts: # 新增
    - name: font-packages # 新增
    mountPath: /usr/share/fonts/font-packages/ # 新增
    volumes: # 新增
    - name: font-packages # 新增
    hostPath: # 新增
    path: /data/mingdao/script/volume/ldoc/font-packages/ # 新增

    ---

    apiVersion: v1
    kind: Service
    metadata:
    name: ldoc
    namespace: default
    spec:
    selector:
    app: ldoc
    ports:
    - name: internal
    port: 8001
    targetPort: 8000
  2. 然后重启 LibreOffice 服务使之生效

    service.yaml 所在目录下执行重启命令

     kubectl apply -f service.yaml

    # 检查等pod启动完成
    kubectl get pods |grep ldoc

    # 如果ldoc没重启,可以手动滚动重启下
    kubectl rollout restart deploy ldoc