From 5eeee4c4684882540d495b019439b1187d61b180 Mon Sep 17 00:00:00 2001 From: chenxiky <2868613334@qq.com> Date: Tue, 19 Aug 2025 19:52:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA=E6=9C=80=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aircraft-system/Dockerfile | 59 +++++++------------------------------- 1 file changed, 10 insertions(+), 49 deletions(-) diff --git a/aircraft-system/Dockerfile b/aircraft-system/Dockerfile index 107414b..6023ce3 100644 --- a/aircraft-system/Dockerfile +++ b/aircraft-system/Dockerfile @@ -1,56 +1,17 @@ -# 第一阶段:使用Maven构建项目 -FROM maven:3.8.7-openjdk-17 AS builder +# 使用官方 OpenJDK 17 运行时作为基础镜像 +FROM openjdk:17-jdk-slim -# 设置工作目录 -WORKDIR /workspace - -# 复制所有POM文件以利用Docker缓存层 -COPY pom.xml . -COPY aircraft-common/pom.xml ./aircraft-common/ -COPY aircraft-generator/pom.xml ./aircraft-generator/ -COPY aircraft-logging/pom.xml ./aircraft-logging/ -COPY aircraft-system/pom.xml ./aircraft-system/ -COPY aircraft-tools/pom.xml ./aircraft-tools/ - -# 下载依赖项(仅当pom文件更改时才会重新执行) -RUN mvn -B dependency:go-offline - -# 复制源代码 -COPY aircraft-common/src ./aircraft-common/src -COPY aircraft-generator/src ./aircraft-generator/src -COPY aircraft-logging/src ./aircraft-logging/src -COPY aircraft-system/src ./aircraft-system/src -COPY aircraft-tools/src ./aircraft-tools/src - -# 构建整个项目并跳过测试 -RUN mvn -B package -pl aircraft-system -am -DskipTests - -# 第二阶段:创建运行时镜像 -FROM eclipse-temurin:17-jre-alpine - -# 设置元数据 -LABEL maintainer="aircraft-team" -LABEL module="aircraft-system" +# 设置作者信息 +LABEL maintainer="chenxiky@163.com" # 设置工作目录 WORKDIR /app -# 从构建阶段复制生成的JAR文件 -COPY --from=builder /workspace/aircraft-system/target/*.jar app.jar +# 复制同级 target 目录下的 JAR 文件到镜像中 +COPY target/*.jar app.jar -# 设置时区 -ENV TZ=Asia/Shanghai -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +# 暴露应用端口(根据实际应用修改) +EXPOSE 8083 -# 暴露默认端口 -EXPOSE 8000 - -# 设置JVM参数 -ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200" - -# 健康检查 -HEALTHCHECK --interval=30s --timeout=3s \ - CMD wget -q -O - http://localhost:8000/actuator/health || exit 1 - -# 启动应用 -ENTRYPOINT exec java $JAVA_OPTS -jar app.jar +# 运行 JAR 文件 +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file