# ========== 阶段一:Maven 构建 ========== FROM eclipse-temurin:8-jdk-alpine AS builder WORKDIR /build # 先只复制 pom,利用 Docker 缓存依赖层 COPY pom.xml . RUN mvn dependency:go-offline -B -q # 复制源码并打包(跳过测试,加快构建) COPY src ./src RUN mvn clean package -DskipTests -B -q # ========== 阶段二:运行 ========== FROM eclipse-temurin:8-jre-alpine WORKDIR /app # 从构建阶段复制 jar COPY --from=builder /build/target/sftp-manager-1.0.0.jar app.jar # 数据与日志目录(挂载卷时会覆盖) RUN mkdir -p /app/data /app/logs EXPOSE 48081 ENTRYPOINT ["java", "-jar", "app.jar"]