This commit is contained in:
2025-11-22 20:05:53 +08:00
parent 248d91729f
commit c000932105
6 changed files with 588 additions and 24 deletions

View File

@@ -11,14 +11,34 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
ca-certificates \
curl \
bash \
# 基础字体包
ttf-dejavu \
# 中文字体支持包
ttf-freefont \
ttf-liberation \
ttf-inconsolata \
# 更多中文字体支持
fontconfig \
freetype2-dev \
tini \
# OCR相关包
tesseract-ocr \
tesseract-ocr-data-chi_sim \
tesseract-ocr-data-eng \
&& rm -rf /var/cache/apk/*
# 配置字体支持(可选:从资源目录复制自定义字体)
RUN if [ -f "/build/src/main/resources/SIMYOU.TTF" ]; then \
mkdir -p /usr/share/fonts && \
cp /build/src/main/resources/SIMYOU.TTF /usr/share/fonts/ && \
fc-cache -fv; \
else \
echo "SIMYOU.TTF not found in resources, using system fonts"; \
fi
# 生成字体缓存以确保系统字体正确识别
RUN fc-cache -fv || echo "Font cache generation completed"
# ===== Maven 构建阶段 =====
# 使用更小的Alpine Maven镜像进行构建
FROM docker.aipper.de/maven:3.9.9-eclipse-temurin-8-alpine AS builder
@@ -136,11 +156,14 @@ RUN echo "=== 检查构建结果 ===" && \
# 复用基础镜像,避免重复安装依赖
FROM base
# 设置环境变量(优化内存使用)
ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djava.awt.headless=true -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
# 设置环境变量(优化内存使用和字体支持
ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djava.awt.headless=true -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai"
ENV SPRING_PROFILES_ACTIVE=prod
ENV TESSDATA_PREFIX=/usr/share/tessdata/
ENV OCR_TESSPATH=/usr/bin/tesseract
# 字体相关环境变量
ENV JAVA_FONTS=/usr/share/fonts
ENV FONTCONFIG_PATH=/etc/fonts
# 创建应用用户和目录
RUN addgroup -g 1001 app && \