# ============================================ # Nacos 微服务 — 多阶段构建(SB 2.7.18 独立编译) # Nacos 使用 Spring Boot 2.7.18 作 parent, # 与主项目(SB 3.5.5)不在同一 reactor,需单独编译 # ============================================ # ---- Stage 1: 编译 ---- FROM maven:3.9-eclipse-temurin-17 AS builder WORKDIR /build # 只复制 nacos 模块(独立编译,不依赖项目内其他模块) COPY test-server-cloud/test-cloud-nacos/pom.xml ./ # 下载依赖 RUN mvn dependency:go-offline -B || true # 复制 nacos 源码 COPY test-server-cloud/test-cloud-nacos/src ./src # 编译 nacos 模块 RUN mvn package -Dmaven.test.skip=true # ---- Stage 2: 运行 ---- FROM eclipse-temurin:17-jre LABEL maintainer="ghb-base deploy" ENV TZ=Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime WORKDIR /app # 从编译阶段复制 nacos jar COPY --from=builder /build/target/*.jar app.jar # 启动脚本(根据环境变量生成 application.properties) COPY test-server-cloud/test-cloud-nacos/startup.sh /app/startup.sh RUN chmod +x /app/startup.sh EXPOSE 8848 ENV JAVA_OPTS="-Xms512m -Xmx512m" ENTRYPOINT ["/app/startup.sh"]