28 lines
819 B
Docker
28 lines
819 B
Docker
FROM eclipse-temurin:17-jre-alpine AS builder
|
|
WORKDIR /app
|
|
ARG JAR_FILE=target/waybill-service-1.0.0-SNAPSHOT.jar
|
|
COPY ${JAR_FILE} app.jar
|
|
RUN java -Djarmode=layertools -jar app.jar extract
|
|
|
|
FROM eclipse-temurin:17-jre-alpine
|
|
WORKDIR /app
|
|
|
|
# 安装curl用于健康检查
|
|
RUN apk add --no-cache curl
|
|
|
|
# 从builder复制各层
|
|
COPY --from=builder /app/dependencies/ ./
|
|
COPY --from=builder /app/spring-boot-loader/ ./
|
|
COPY --from=builder /app/snapshot-dependencies/ ./
|
|
COPY --from=builder /app/application/ ./
|
|
|
|
ENV JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC"
|
|
|
|
EXPOSE 8086
|
|
|
|
# 健康检查
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
CMD curl -f http://localhost:8086/actuator/health || exit 1
|
|
|
|
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} org.springframework.boot.loader.launch.JarLauncher"]
|