blob: b1dac8833e197a1a418cce93755a0ed516905365 [file] [log] [blame]
Matthias Andreas Benkarda9074952022-05-13 20:47:42 +02001# SPDX-FileCopyrightText: © 2022 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
2#
3# SPDX-License-Identifier: GPL-3.0-or-later
4
Matthias Andreas Benkardb9ec6c82025-07-04 05:38:23 +02005FROM registry.access.redhat.com/ubi10/ubi-minimal:latest AS ubi-minimal
Matthias Andreas Benkarda9074952022-05-13 20:47:42 +02006
7# Add OpenJDK (complete).
8ADD jdk-dist/latest.tar.gz /jdk
9
10# JLink a trimmed JDK.
11RUN microdnf --assumeyes --nodocs install binutils
12RUN /jdk/*/bin/jlink \
13 -J-XX:MaxRAMPercentage=75 \
Matthias Andreas Benkard776cee32022-05-13 22:27:08 +020014 --add-modules ALL-MODULE-PATH \
Matthias Andreas Benkard58ae5eb2025-07-04 05:38:32 +020015 --module-path /jdk/*/jmods \
Matthias Andreas Benkarda9074952022-05-13 20:47:42 +020016 --compress=1 \
17 --no-man-pages \
18 --strip-debug \
19 --output /java
20RUN /java/bin/java -Xshare:dump
21
22# Set mtimes to @0 for reproducibility.
23RUN microdnf --assumeyes --nodocs install findutils
24RUN find /java -exec touch --date=@0 '{}' ';'
25
26# Build the final image.
Matthias Andreas Benkardb9ec6c82025-07-04 05:38:23 +020027FROM registry.access.redhat.com/ubi10/ubi-micro:latest
Matthias Andreas Benkarda9074952022-05-13 20:47:42 +020028COPY --from=ubi-minimal /lib64/libz.so.1 /lib64/
29COPY --from=ubi-minimal /java /java
30ENV JAVA_HOME=/java
31ENV PATH=/java/bin:$PATH