You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
929 B
24 lines
929 B
# crm-backend 部署镜像(含缩略图 Office 渲染所需的 LibreOffice headless)
|
|
# 构建阶段:Maven 编译打包
|
|
FROM maven:3.9-eclipse-temurin-17 AS build
|
|
WORKDIR /build
|
|
COPY pom.xml .
|
|
COPY crm-base/pom.xml crm-base/
|
|
COPY crm-auth/pom.xml crm-auth/
|
|
COPY crm-file/pom.xml crm-file/
|
|
COPY crm-app/pom.xml crm-app/
|
|
# 先拉依赖(利用 Docker 层缓存)
|
|
RUN mvn dependency:go-offline -q || true
|
|
COPY . .
|
|
RUN mvn package -DskipTests -q
|
|
|
|
# 运行阶段:JRE 17 + LibreOffice headless(缩略图 Office 渲染)
|
|
FROM eclipse-temurin:17-jre
|
|
# LibreOffice headless 及中文渲染所需字体(--no-install-recommends 控制体积)
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends libreoffice fonts-noto-cjk \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
WORKDIR /app
|
|
COPY --from=build /build/crm-app/target/crm-app*.jar app.jar
|
|
ENV JAVA_OPTS=""
|
|
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
|
|
|