新增加私服构建的dockerfile
This commit is contained in:
45
Dockerfile/java/新的/admin_Dockerfile
Normal file
45
Dockerfile/java/新的/admin_Dockerfile
Normal file
@@ -0,0 +1,45 @@
|
||||
# ---- 阶段 1: 使用 Maven Build ----
|
||||
FROM maven:3.9.6-eclipse-temurin-21 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 先仅复制 pom.xml 用于依赖缓存
|
||||
COPY pom.xml .
|
||||
|
||||
# 预下载所有依赖,pom 不变就不会重新下载
|
||||
RUN mvn -B dependency:go-offline
|
||||
|
||||
# 复制所有源码
|
||||
COPY . .
|
||||
|
||||
# 开始 Maven 构建
|
||||
RUN mvn clean package -DskipTests
|
||||
|
||||
# ---- 阶段 2: 构建运行镜像 ----
|
||||
# 使用 Java 21 精简镜像(含JDK,运行Spring Boot等Java应用)
|
||||
# FROM mirror.ccs.tencentyun.com/library/openjdk:21-jdk-slim AS runtime
|
||||
FROM eclipse-temurin:21-jre AS runtime
|
||||
|
||||
# 配置环境变量
|
||||
ENV APP_HOME=/app \
|
||||
# 应用名称
|
||||
APP_NAME=flymoon-admin \
|
||||
# 默认启动环境sit,可被覆盖,外部使用-e or env SPRING_PROFILES_ACTIVE=xxx覆盖
|
||||
SPRING_PROFILES_ACTIVE=sit \
|
||||
# 阶段1构建后的产生的JAR文件位置
|
||||
PRODUCT_DIR="/build/target/" \
|
||||
LANG=C.UTF-8 \
|
||||
TZ=Asia/Shanghai \
|
||||
JAVA_OPTS=""
|
||||
|
||||
# 创建应用工作目录
|
||||
WORKDIR ${APP_HOME}
|
||||
|
||||
# 复制阶段1构建后的主应用JAR产物到容器工作目录
|
||||
COPY --from=builder ${PRODUCT_DIR}${APP_NAME}.jar ${APP_HOME}/${APP_NAME}.jar
|
||||
|
||||
# 暴露应用端口
|
||||
EXPOSE 8080
|
||||
|
||||
# 启动命令(支持外部传入JVM参数,如 -Xms512m -Xmx1024m)
|
||||
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar $APP_HOME/$APP_NAME.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE"]
|
||||
46
Dockerfile/java/新的/agent_Dockerfile
Normal file
46
Dockerfile/java/新的/agent_Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
# ---- 阶段 1: 使用 Maven Build ----
|
||||
FROM maven:3.9.6-eclipse-temurin-21 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 先仅复制 pom.xml 用于依赖缓存
|
||||
COPY flymoon-agent-api/pom.xml flymoon-agent-api/
|
||||
COPY flymoon-agent-provider/pom.xml flymoon-agent-provider/
|
||||
|
||||
# 预下载所有依赖,pom 不变就不会重新下载
|
||||
RUN mvn -B dependency:go-offline
|
||||
|
||||
# 复制所有源码
|
||||
COPY . .
|
||||
|
||||
# 开始 Maven 构建
|
||||
RUN mvn clean package -DskipTests
|
||||
|
||||
# ---- 阶段 2: 构建运行镜像 ----
|
||||
# 使用 Java 21 精简镜像(含JDK,运行Spring Boot等Java应用)
|
||||
# FROM mirror.ccs.tencentyun.com/library/openjdk:21-jdk-slim AS runtime
|
||||
FROM eclipse-temurin:21-jre AS runtime
|
||||
|
||||
# 配置环境变量
|
||||
ENV APP_HOME=/app \
|
||||
# 应用名称
|
||||
APP_NAME=flymoon-agent \
|
||||
# 默认启动环境sit,可被覆盖,外部使用-e or env SPRING_PROFILES_ACTIVE=xxx覆盖
|
||||
SPRING_PROFILES_ACTIVE=sit \
|
||||
# 阶段1构建后的产生的JAR文件位置
|
||||
PRODUCT_DIR="/build/flymoon-agent-provider/target/" \
|
||||
LANG=C.UTF-8 \
|
||||
TZ=Asia/Shanghai \
|
||||
JAVA_OPTS=""
|
||||
|
||||
# 创建应用工作目录
|
||||
WORKDIR ${APP_HOME}
|
||||
|
||||
# 复制阶段1构建后的主应用JAR产物到容器工作目录
|
||||
COPY --from=builder ${PRODUCT_DIR}${APP_NAME}.jar ${APP_HOME}/${APP_NAME}.jar
|
||||
|
||||
# 暴露应用端口(Spring Boot Web 端口、 Dubbo RPC 服务端口、Dubbo QoS 监控端口等)
|
||||
EXPOSE 8070 20881
|
||||
|
||||
# 启动命令(支持外部传入JVM参数,如 -Xms512m -Xmx1024m)
|
||||
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar $APP_HOME/$APP_NAME.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE"]
|
||||
45
Dockerfile/java/新的/email_Dockerfile
Normal file
45
Dockerfile/java/新的/email_Dockerfile
Normal file
@@ -0,0 +1,45 @@
|
||||
# ---- Stage 1: Build with Maven ----
|
||||
FROM maven:3.8.8-eclipse-temurin-8 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 先仅复制 pom.xml 用于依赖缓存
|
||||
COPY application/pom.xml application/
|
||||
COPY domain/pom.xml domain/
|
||||
COPY infrastructure-cn/pom.xml infrastructure-cn/
|
||||
COPY infrastructure-us/pom.xml infrastructure-us/
|
||||
COPY infrastructure/pom.xml infrastructure/
|
||||
COPY interface/pom.xml interface/
|
||||
COPY start/pom.xml start/
|
||||
COPY pom.xml .
|
||||
|
||||
# 预下载所有依赖,pom 不变就不会重新下载
|
||||
RUN mvn -B dependency:go-offline
|
||||
|
||||
# 再复制所有源码
|
||||
COPY . .
|
||||
|
||||
# 开始 Maven 构建,配置变量可变,us 或 cn, 默认为 us
|
||||
ARG MAVEN_BUILD_PROFILE=us
|
||||
RUN mvn clean package -Dmaven.test.skip=true -P${MAVEN_BUILD_PROFILE}
|
||||
|
||||
# ---- Stage 2: Runtime ----
|
||||
FROM mirror.ccs.tencentyun.com/library/openjdk:8-jdk AS runtime
|
||||
|
||||
# 创建应用工作目录
|
||||
WORKDIR /app
|
||||
|
||||
ENV LANG=C.UTF-8 \
|
||||
TZ=Asia/Shanghai \
|
||||
JAVA_OPTS=""
|
||||
|
||||
# 从构建阶段复制 JAR
|
||||
COPY --from=builder /build/start/target/start-0.0.1-SNAPSHOT.jar /app/flymoon-email.jar
|
||||
|
||||
EXPOSE 4997 4998
|
||||
|
||||
# 运行时配置可变
|
||||
ARG RUN_PROFILE=sit-us
|
||||
ENV SPRING_PROFILES_ACTIVE=${RUN_PROFILE}
|
||||
|
||||
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/flymoon-email.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE}"]
|
||||
46
Dockerfile/java/新的/payment_Dockerfile
Normal file
46
Dockerfile/java/新的/payment_Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
# ---- 阶段 1: 使用 Maven Build ----
|
||||
FROM maven:3.9.6-eclipse-temurin-21 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 先仅复制 pom.xml 用于依赖缓存
|
||||
COPY flymoon-payment-api/pom.xml flymoon-payment-api/
|
||||
COPY flymoon-payment-provider/pom.xml flymoon-payment-provider/
|
||||
|
||||
# 预下载所有依赖,pom 不变就不会重新下载
|
||||
RUN mvn -B dependency:go-offline
|
||||
|
||||
# 复制所有源码
|
||||
COPY . .
|
||||
|
||||
# 开始 Maven 构建
|
||||
RUN mvn clean package -DskipTests
|
||||
|
||||
# ---- 阶段 2: 构建运行镜像 ----
|
||||
# 使用 Java 21 精简镜像(含JDK,运行Spring Boot等Java应用)
|
||||
# FROM mirror.ccs.tencentyun.com/library/openjdk:21-jdk-slim AS runtime
|
||||
FROM eclipse-temurin:21-jre AS runtime
|
||||
|
||||
# 配置环境变量
|
||||
ENV APP_HOME=/app \
|
||||
# 应用名称
|
||||
APP_NAME=flymoon-payment \
|
||||
# 默认启动环境sit,可被覆盖,外部使用-e or env SPRING_PROFILES_ACTIVE=xxx覆盖
|
||||
SPRING_PROFILES_ACTIVE=sit \
|
||||
# 阶段1构建后的产生的JAR文件位置
|
||||
PRODUCT_DIR="/build/flymoon-payment-provider/target/" \
|
||||
LANG=C.UTF-8 \
|
||||
TZ=Asia/Shanghai \
|
||||
JAVA_OPTS=""
|
||||
|
||||
# 创建应用工作目录
|
||||
WORKDIR ${APP_HOME}
|
||||
|
||||
# 复制阶段1构建后的主应用JAR产物到容器工作目录
|
||||
COPY --from=builder ${PRODUCT_DIR}${APP_NAME}.jar ${APP_HOME}/${APP_NAME}.jar
|
||||
|
||||
# 暴露应用端口(Spring Boot Web 端口、 Dubbo RPC 服务端口、Dubbo QoS 监控端口等)
|
||||
EXPOSE 8090 20884
|
||||
|
||||
# 启动命令(支持外部传入JVM参数,如 -Xms512m -Xmx1024m)
|
||||
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar $APP_HOME/$APP_NAME.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE"]
|
||||
Reference in New Issue
Block a user