summaryrefslogtreecommitdiff
path: root/src/main/docker/runtime/Dockerfile
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2022-05-13 15:25:56 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2022-05-18 21:45:51 +0200
commitc83e8de920cb604fc55a18fe1c5f2c1d872f6f74 (patch)
tree05d356f3ab6fa5a1c6cc3e6423889e1cb3829739 /src/main/docker/runtime/Dockerfile
parent0925ce2f5dc5fbe94a85268da7360a75f8e6c961 (diff)
Use a custom OpenJDK base container image.
Change-Id: I9b24bdaf5f07974de12ae408df3b9a25e8268a48
Diffstat (limited to 'src/main/docker/runtime/Dockerfile')
-rw-r--r--src/main/docker/runtime/Dockerfile30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/docker/runtime/Dockerfile b/src/main/docker/runtime/Dockerfile
new file mode 100644
index 0000000..80d5b05
--- /dev/null
+++ b/src/main/docker/runtime/Dockerfile
@@ -0,0 +1,30 @@
+# SPDX-FileCopyrightText: © 2022 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+FROM registry.access.redhat.com/ubi8/ubi-minimal:latest AS ubi-minimal
+
+# Add OpenJDK (complete).
+ADD jdk-dist/latest.tar.gz /jdk
+
+# JLink a trimmed JDK.
+RUN microdnf --assumeyes --nodocs install binutils
+RUN /jdk/*/bin/jlink \
+ -J-XX:MaxRAMPercentage=75 \
+ --add-modules ALL-MODULE-PATH \
+ --compress=1 \
+ --no-man-pages \
+ --strip-debug \
+ --output /java
+RUN /java/bin/java -Xshare:dump
+
+# Set mtimes to @0 for reproducibility.
+RUN microdnf --assumeyes --nodocs install findutils
+RUN find /java -exec touch --date=@0 '{}' ';'
+
+# Build the final image.
+FROM registry.access.redhat.com/ubi8/ubi-micro:latest
+COPY --from=ubi-minimal /lib64/libz.so.1 /lib64/
+COPY --from=ubi-minimal /java /java
+ENV JAVA_HOME=/java
+ENV PATH=/java/bin:$PATH