37 lines
834 B
Docker
37 lines
834 B
Docker
#Builder stage for maven
|
|
FROM docker.io/library/openjdk:11 AS builder
|
|
|
|
RUN apt-get update && \
|
|
apt-get install --no-install-recommends -y maven=3.6.3-5
|
|
|
|
#Set the working directory
|
|
WORKDIR /app
|
|
|
|
#Copy application POM
|
|
COPY pom.xml .
|
|
|
|
#Download dependencies in local repo
|
|
RUN mvn dependency:go-offline
|
|
|
|
#Copy source code
|
|
COPY src ./src
|
|
|
|
#Build the app
|
|
RUN mvn clean package
|
|
|
|
#Main stage
|
|
FROM docker.io/library/openjdk:11-jre-slim
|
|
|
|
#Set the working directory
|
|
WORKDIR /app
|
|
|
|
#Copy compiled jar from builder stage
|
|
COPY --from=builder /app/target/exn-middleware-core-0.0.1-SNAPSHOT.jar ./exn-middleware-core-0.0.1-SNAPSHOT.jar
|
|
|
|
#Copy application configuration
|
|
RUN mkdir config
|
|
COPY config/application-production.yml ./config/application.yml
|
|
|
|
#Run java app on container start
|
|
CMD ["java", "-jar", "exn-middleware-core-0.0.1-SNAPSHOT.jar"]
|