# U02（R07）：最小容器化——两层镜像（构建 + 运行）。本地验证：docker build -t msgexchange-v2 .
# 运行时通过环境变量注入口令/端点（零入库）：MSGX_DB_URL/MSGX_DB_USER/MSGX_DB_PASSWORD/
# MSGX_REDIS_URI/MSGX_KAFKA_SERVERS/MSGX_EUREKA_URL（可选）等，见 src/main/resources/application.yml。
FROM eclipse-temurin:25-jdk AS build
WORKDIR /app
COPY gradlew gradlew.bat settings.gradle.kts build.gradle.kts gradle.properties ./
COPY gradle ./gradle
RUN ./gradlew --no-daemon dependencies --console=plain >/dev/null 2>&1 || true
COPY src ./src
RUN ./gradlew --no-daemon installDist --console=plain

FROM eclipse-temurin:25-jre
WORKDIR /app
COPY --from=build /app/build/install/msgexchange-v2/ ./
EXPOSE 8080
ENTRYPOINT ["bin/msgexchange-v2"]
