case-collection/Dockerfile-dev

51 lines
1.4 KiB
Plaintext

# 第一阶段:使用 Maven + Java8 构建 JAR 包
FROM maven:3.9.2-eclipse-temurin-8-alpine AS builder
WORKDIR /app
# 添加国内 Maven 镜像源
RUN mkdir -p /root/.m2 && \
echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" \
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 \
https://maven.apache.org/xsd/settings-1.0.0.xsd"> \
<mirrors> \
<mirror> \
<id>aliyun</id> \
<mirrorOf>*</mirrorOf> \
<name>aliyun maven</name> \
<url>https://maven.aliyun.com/repository/public</url> \
</mirror> \
</mirrors> \
</settings>' > /root/.m2/settings.xml
# 复制项目代码
COPY pom.xml .
COPY sa-admin ./sa-admin
COPY sa-common ./sa-common
# 构建项目
RUN mvn clean package -Dmaven.test.skip=true -P dev
# 第二阶段:使用更小的 Java8 JDK 镜像运行
FROM eclipse-temurin:8-jdk-alpine
WORKDIR /app
# ✅ 安装字体 & libgcc 等依赖
RUN apk add --no-cache \
libstdc++ \
libgcc \
fontconfig \
freetype \
ttf-dejavu
# 复制构建产物
COPY --from=builder /app/sa-admin/target/*.jar app.jar
# 暴露端口(请替换成你实际应用端口)
EXPOSE 5477
# 启动应用
ENTRYPOINT ["java", "-Duser.timezone=Asia/Shanghai", "-jar", "app.jar"]