25 lines
702 B
Docker
25 lines
702 B
Docker
# Build stage
|
|
ARG MAVEN_IMAGE=maven:3.9.16-eclipse-temurin-17-alpine
|
|
ARG RUNTIME_IMAGE=eclipse-temurin:17-jre-alpine
|
|
FROM ${MAVEN_IMAGE} AS builder
|
|
WORKDIR /app
|
|
COPY .mvn/settings.xml /root/.m2/settings.xml
|
|
COPY pom.xml .
|
|
RUN mvn -B -ntp -Dmaven.test.skip=true dependency:go-offline
|
|
COPY src ./src
|
|
RUN mvn -B -ntp -Dmaven.test.skip=true clean package
|
|
|
|
# Runtime stage
|
|
FROM ${RUNTIME_IMAGE}
|
|
WORKDIR /app
|
|
COPY --from=builder /app/target/agent-foundation-0.0.1-SNAPSHOT.jar app.jar
|
|
|
|
EXPOSE 8880
|
|
|
|
# JAVA_TOOL_OPTIONS is read directly by the JVM, so no shell entrypoint is needed.
|
|
ENV JAVA_TOOL_OPTIONS=""
|
|
ENV SPRING_PROFILES_ACTIVE=prod
|
|
ENV SERVER_PORT=8880
|
|
|
|
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|