diff options
| author | Jakub Lidke | 2023-08-02 15:19:38 +0200 |
|---|---|---|
| committer | Jakub Lidke | 2023-08-02 15:19:38 +0200 |
| commit | a075f731625db4a790d567de4da7d018c3696131 (patch) | |
| tree | fb78894b4d81d8c2af04038808bc55ad8ae16631 /Dockerfile | |
| parent | db631fbd8eee6395833d55415e68719c54e773cc (diff) | |
feat: add Dockerfile for build within docker environment and run application within a container.
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2d38c6a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM gradle:8.1-jdk17 AS build +WORKDIR /home/gradle/src +ENV GRADLE_USER_HOME /gradle + +COPY build.gradle.kts settings.gradle.kts ./ + +COPY --chown=gradle:gradle . . +RUN gradle build --info && \ + java -Djarmode=layertools -jar build/libs/*.jar extract + +FROM gcr.io/distroless/java17:nonroot +WORKDIR /opt/kafka-streams-template +COPY --from=build /home/gradle/src/dependencies/ ./ +COPY --from=build /home/gradle/src/spring-boot-loader/ ./ +COPY --from=build /home/gradle/src/application/ ./ +COPY HealthCheck.java . + +USER nonroot +ARG GIT_REF="" +ARG GIT_URL="" +ARG BUILD_TIME="" +ARG VERSION=0.0.0 +ENV APP_VERSION=${VERSION} \ + SPRING_PROFILES_ACTIVE="prod" +ENTRYPOINT ["java", "-XX:MaxRAMPercentage=90", "org.springframework.boot.loader.JarLauncher"] + +HEALTHCHECK --interval=25s --timeout=3s --retries=2 CMD ["java", "HealthCheck.java", "||", "exit", "1"] + +LABEL org.opencontainers.image.created=${BUILD_TIME} \ + org.opencontainers.image.authors="Paul-Chrisitan Volkmer, Jakub Lidke" \ + org.opencontainers.image.source=${GIT_URL} \ + org.opencontainers.image.version=${VERSION} \ + org.opencontainers.image.revision=${GIT_REF} \ + org.opencontainers.image.vendor="" \ + org.opencontainers.image.title="etl-processor" \ + org.opencontainers.image.description="Relay application between Onkostar and bwHc for pseudonymization or anonymization of patient data and profide additional monitoring of processed data." |
