Skip to content

Commit 3bb6b41

Browse files
committed
Restore use of jlink with sufficient modules that sidecar works correctly
1 parent a69564e commit 3bb6b41

File tree

1 file changed

+19
-28
lines changed

1 file changed

+19
-28
lines changed

Dockerfile

+19-28
Original file line numberDiff line numberDiff line change
@@ -24,39 +24,18 @@ COPY wls-exporter-sidecar/ wls-exporter-sidecar/
2424

2525
RUN mvn -B -e -C install -Ddocker-build -DskipTests=true
2626

27-
# Install Java on top of the linux image
28-
FROM ghcr.io/oracle/oraclelinux:8-slim as linux
29-
WORKDIR /tmp
27+
FROM ghcr.io/oracle/oraclelinux:8-slim AS jre-build
3028

31-
RUN set -eux; \
32-
microdnf -y install gzip tar openssl jq; \
33-
microdnf -y update; \
34-
microdnf clean all
35-
36-
ENV LANG="en_US.UTF-8" \
37-
JAVA_HOME="/usr/local/java" \
38-
PATH="/operator:$JAVA_HOME/bin:$PATH" \
39-
JAVA_URL="https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz"
29+
ENV JAVA_URL="https://download.java.net/java/GA/jdk18.0.1.1/65ae32619e2f40f3a9af3af1851d6e19/2/GPL/openjdk-18.0.1.1_linux-x64_bin.tar.gz"
4030

4131
RUN set -eux; \
32+
microdnf -y install gzip tar; \
4233
curl -fL -o /jdk.tar.gz "$JAVA_URL"; \
43-
mkdir -p "$JAVA_HOME"; \
44-
tar --extract --file /jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1; \
45-
rm /jdk.tar.gz; \
46-
mkdir /usr/java; \
47-
ln -sfT "$JAVA_HOME" /usr/java/default; \
48-
ln -sfT "$JAVA_HOME" /usr/java/latest; \
49-
rm -Rf "$JAVA_HOME/include" "$JAVA_HOME/jmods"; \
50-
rm -f "$JAVA_HOME/lib/src.zip"; \
51-
for bin in "$JAVA_HOME/bin/"*; do \
52-
base="$(basename "$bin")"; \
53-
[ ! -e "/usr/bin/$base" ]; \
54-
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
55-
done; \
56-
java -Xshare:dump
34+
mkdir -p /jdk; \
35+
tar --extract --file /jdk.tar.gz --directory /jdk --strip-components 1; \
36+
/jdk/bin/jlink --verbose --compress 2 --strip-java-debug-attributes --no-header-files --no-man-pages --output jre --add-modules java.base,java.logging,java.desktop,java.instrument,java.management,java.naming,java.net.http,java.security.jgss,java.sql,jdk.attach,jdk.jdi,jdk.jfr,jdk.management,jdk.management.jfr,jdk.net,jdk.unsupported,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.zipfs
5737

58-
# Finally, copy the exporter sidecar and create the docker image
59-
FROM linux as base
38+
FROM ghcr.io/oracle/oraclelinux:8-slim
6039

6140
LABEL "org.opencontainers.image.authors"="Ryan Eberhard <[email protected]>, Russell Gold <[email protected]>" \
6241
"org.opencontainers.image.url"="https://github.com/oracle/weblogic-monitoring-exporter" \
@@ -66,6 +45,18 @@ LABEL "org.opencontainers.image.authors"="Ryan Eberhard <[email protected]
6645
"org.opencontainers.image.description"="Oracle WebLogic Monitoring Exporter" \
6746
"org.opencontainers.image.documentation"="https://github.com/oracle/weblogic-monitoring-exporter"
6847

48+
COPY --from=jre-build /jre jre
49+
50+
RUN set -eux; \
51+
microdnf -y update; \
52+
microdnf clean all; \
53+
for bin in /jre/bin/*; do \
54+
base="$(basename "$bin")"; \
55+
[ ! -e "/usr/bin/$base" ]; \
56+
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
57+
done; \
58+
java -Xshare:dump
59+
6960
COPY --from=build project/wls-exporter-sidecar/target/wls-exporter-sidecar.jar ./
7061
COPY --from=build project/wls-exporter-sidecar/target/libs ./libs
7162
COPY start_exporter.sh .

0 commit comments

Comments
 (0)