Skip to content

Commit

Permalink
dockerfile: use binary distribution (made with native image)
Browse files Browse the repository at this point in the history
Signed-off-by: Avelino <avelinorun@gmail.com>
  • Loading branch information
avelino committed Mar 30, 2023
1 parent 0af4736 commit 2e5374d
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,29 @@
FROM docker.io/clojure:openjdk-19-tools-deps-slim-bullseye AS build
FROM docker.io/clojure:openjdk-17-tools-deps-alpine AS jar-build
RUN apk add git
WORKDIR /app
COPY deps.edn .
RUN clojure -P && clojure -A:dev -P
COPY . .
RUN clojure -A:dev -M --report stderr -m moclojer.build
RUN clojure -P && clojure -A:dev -P && \
clojure -A:dev -M --report stderr -m moclojer.build

FROM docker.io/openjdk:19-jdk-alpine
FROM ghcr.io/graalvm/native-image:ol8-java17 AS native-image-build
COPY --from=jar-build /app /app
WORKDIR /app/target
RUN native-image @native/native-image-args \
-H:Name=moclojer \
-H:DashboardDump=report/moclojer \
-H:EnableURLProtocols=http,https \
-jar /app/target/moclojer.jar \
-H:ReflectionConfigurationFiles=/app/META-INF/native-image/reflect-config.json \
-H:ResourceConfigurationFiles=/app/META-INF/native-image/resource-config.json && \
chmod +x /app/target/moclojer

FROM container-registry.oracle.com/os/oraclelinux:8-slim
LABEL org.opencontainers.image.source https://github.com/moclojer/moclojer
WORKDIR /app
COPY --from=build /app/target/moclojer.jar .
COPY --from=native-image-build /app/target/moclojer /app/moclojer
ENV PORT="8000"
ENV HOST="0.0.0.0"
ENV CONFIG="/app/moclojer.yml"
EXPOSE ${PORT}
VOLUME ${CONFIG}
CMD ["java", "-jar", "moclojer.jar"]
CMD ["/app/moclojer"]

0 comments on commit 2e5374d

Please sign in to comment.