# Backend: Maven 使用阿里云镜像,多阶段构建 FROM maven:3.9-eclipse-temurin-8-alpine AS builder # 使用国内 Maven 配置(阿里云) COPY docker/maven-settings.xml /root/.m2/settings.xml WORKDIR /build # 先复制 pom,利用 Docker 层缓存 COPY backend/pom.xml . RUN mvn dependency:go-offline -B -q COPY backend/src ./src RUN mvn package -DskipTests -B -q # 运行阶段 FROM eclipse-temurin:8-jre-alpine RUN apk add --no-cache tzdata \ && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone WORKDIR /app COPY --from=builder /build/target/*.jar app.jar # 数据目录(H2 数据库文件) ENV DATA_DIR=/app/data RUN mkdir -p ${DATA_DIR} EXPOSE 48080 ENTRYPOINT ["java", "-jar", "app.jar"]