Skip to content

Instantly share code, notes, and snippets.

@bastienapp
Last active July 31, 2023 13:12
Show Gist options
  • Save bastienapp/b6c793c312619944dbbaf1fa480b228a to your computer and use it in GitHub Desktop.
Save bastienapp/b6c793c312619944dbbaf1fa480b228a to your computer and use it in GitHub Desktop.
Docker deployment: Spring
# Dockerfile Spring
# build environment
FROM openjdk:17-jdk-slim as build
WORKDIR /build/
COPY . .
RUN ./mvnw -Dmaven.test.skip clean package
ENV PORT 8080
#uncomment or add needed env variables
#ARG SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL}
#ENV SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL}
#ARG SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
#ENV SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
#ARG SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
#ENV SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
#ARG JWT_SECRET=${JWT_SECRET}
#ENV JWT_SECRET=${JWT_SECRET}
#ARG FRONTEND_URL=${FRONTEND_URL}
#ENV FRONTEND_URL=${FRONTEND_URL}
# production environment
FROM openjdk:17-jdk-slim
COPY --from=build /build/target/*.jar /app/webapp.jar
WORKDIR /app
EXPOSE 8080
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=prod","webapp.jar"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment