FROM maven:3.9-eclipse-temurin-21-alpine AS builder WORKDIR /build COPY pom.xml . RUN mvn dependency:go-offline -B -q COPY src ./src RUN mvn package -DskipTests -B -q FROM eclipse-temurin:21-jre-alpine AS runtime ENV TZ=Asia/Shanghai \ JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC" WORKDIR /app RUN addgroup -S app && adduser -S app -G app COPY --from=builder /build/target/*.jar app.jar EXPOSE 8081 USER app CMD ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]