34 lines
835 B
Docker
34 lines
835 B
Docker
# ================= 第一阶段:Maven 构建 ================
|
|
FROM maven:3-openjdk-15 AS builder
|
|
|
|
WORKDIR /workspace
|
|
|
|
# 复制整个项目
|
|
COPY . .
|
|
|
|
# 执行构建(跳过测试)
|
|
RUN mvn clean package -DskipTests
|
|
|
|
# 创建目录并复制所有 jar 文件
|
|
RUN mkdir -p target/modules && \
|
|
find . -type f -name "*.jar" -not -path "*/test/*" -not -path "*/target/lib/*" | xargs -I {} cp {} target/modules/
|
|
|
|
# ================= 第二阶段:JDK 运行时 ================
|
|
FROM openjdk:15.0.2-jdk
|
|
|
|
# 设置时区
|
|
ENV TZ=Asia/Shanghai
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# 安装windows字体 解决文档转换乱码问题
|
|
COPY fonts/* /usr/share/fonts/
|
|
# 刷新字体缓存
|
|
RUN fc-cache -fv
|
|
|
|
WORKDIR /app
|
|
|
|
# 复制 jar 文件
|
|
COPY --from=builder /workspace/target/modules/*.jar ./
|
|
|
|
|