Skip to content

Commit ba6fb98

Browse files
authored
Merge pull request #393 from jhuttana/multi-stage-jlink-dev
[OPENJDK-2063] Add dockerfile to do a multi-stage build for jlink JRE light weight container application
2 parents 0489ff7 + 072aea8 commit ba6fb98

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

templates/jlink/Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#multi-stage build for jlinked application JAR and JRE
2+
3+
#Stage-1:build application JAR and libraries
4+
#steps to build the application JAR and jlinked JRE
5+
#for time being using the image built by Jon
6+
FROM quay.io/jdowland/jlink:quarkus-getting-started AS ubi9-jlinked-image
7+
USER 0
8+
RUN mkdir -p /mnt/jrootfs
9+
RUN microdnf install dnf -y
10+
RUN dnf install --installroot /mnt/jrootfs grep gawk --releasever 9 --setopt install_weak_deps=false --nodocs -y;dnf clean all
11+
RUN rm -rf /mnt/jrootfs/var/cache/*
12+
RUN rm -rf /mnt/jrootfs/var/lib/rpm
13+
USER 185
14+
15+
#Stage-2:copy application JAR and jlinked JRE to runtime image
16+
FROM registry.access.redhat.com/ubi9/ubi-micro AS lean-runtime
17+
18+
COPY --from=ubi9-jlinked-image /mnt/jrootfs/ /
19+
COPY --from=ubi9-jlinked-image /deployments /deployments
20+
COPY --from=ubi9-jlinked-image /tmp/jre /usr/lib/jvm/java
21+
COPY --from=ubi9-jlinked-image /opt/jboss/container/java/run/run-java.sh /opt/jboss/container/java/run/run-java.sh
22+
COPY --from=ubi9-jlinked-image /opt/jboss/container/util/logging/logging.sh /opt/jboss/container/util/logging/logging.sh
23+
COPY --from=ubi9-jlinked-image /opt/jboss/container/java/run/run-env.sh /opt/jboss/container/java/run/run-env.sh
24+
RUN ls -LR /opt/jboss/container/
25+
26+
ENV JAVA_HOME="/usr/lib/jvm/java"
27+
RUN echo $JAVA_HOME
28+
29+
ENV PATH="$JAVA_HOME/bin/:$PATH"
30+
RUN echo $PATH
31+
32+
ENV JBOSS_CONTAINER_UTIL_LOGGING_MODULE=/opt/jboss/container/util/logging
33+
ENV JBOSS_CONTAINER_JAVA_RUN_MODULE=/opt/jboss/container/java/run
34+
35+
CMD /opt/jboss/container/java/run/run-java.sh
36+

0 commit comments

Comments
 (0)