@@ -9,27 +9,17 @@ ENV JAVA_URL_AARCH64="https://download.oracle.com/java/25/latest/jdk-25_linux-aa
99RUN set -eux; \
1010 microdnf -y install gzip tar; \
1111 MACHINE_TYPE=`uname -m`; \
12- mkdir -p /dynamic/lib64; \
13- mkdir -p /dynamic/lib; \
14- cp /lib64/libz.so.1 /dynamic/lib64; \
15- cp /lib64/librt.so.1 /dynamic/lib64; \
16- cp /lib64/libm.so.6 /dynamic/lib64; \
17- cp /lib64/libpthread.so.0 /dynamic/lib64; \
18- cp /lib64/libdl.so.2 /dynamic/lib64; \
19- cp /lib64/libc.so.6 /dynamic/lib64; \
2012 if [ ${MACHINE_TYPE} == 'x86_64' ]; then \
2113 JAVA_URL=$JAVA_URL_X64; \
22- cp /lib64/ld-linux-x86-64.so.2 /dynamic/lib64; \
2314 else \
2415 JAVA_URL=$JAVA_URL_AARCH64; \
25- cp /lib/ld-linux-aarch64.so.1 /dynamic/lib; \
2616 fi; \
2717 curl -fL -o jdk.tar.gz "$JAVA_URL" ; \
2818 mkdir -p /jdk; \
2919 tar --extract --file jdk.tar.gz --directory /jdk --strip-components 1; \
30- /jdk/bin/jlink --verbose --compress 2 --strip-java-debug-attributes --no-header-files --no-man-pages --output custom- jre --add-modules java.base,java.logging,java.instrument,java.management,java.naming,java.net.http,java.security.jgss,java.sql,jdk.attach,jdk.jdi,jdk.jfr,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.net,jdk.unsupported,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.zipfs,jdk.jcmd
20+ /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.instrument,java.management,java.naming,java.net.http,java.security.jgss,java.sql,jdk.attach,jdk.jdi,jdk.jfr,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.net,jdk.unsupported,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.zipfs,jdk.jcmd
3121
32- FROM scratch
22+ FROM ghcr.io/oracle/oraclelinux:9-slim
3323
3424LABEL "org.opencontainers.image.authors" =
"Ryan Eberhard <[email protected] >, Russell Gold <[email protected] >" \
3525 "org.opencontainers.image.url" ="https://github.com/oracle/weblogic-monitoring-exporter" \
@@ -41,13 +31,25 @@ LABEL "org.opencontainers.image.authors"="Ryan Eberhard <
[email protected] 4131
4232ENV LANG="en_US.UTF-8"
4333
44- COPY --from=jre-build custom-jre /opt/java
45- COPY --from=jre-build /dynamic/lib64 /lib64
46- COPY --from=jre-build /dynamic/lib /lib
34+ COPY --from=jre-build /jre jre
35+
36+ # Install Java and make the operator run with a non-root user id (1000 is the `oracle` user)
37+ RUN set -eux; \
38+ microdnf -y update; \
39+ microdnf clean all; \
40+ for bin in /jre/bin/*; do \
41+ base="$(basename " $bin")" ; \
42+ [ ! -e "/usr/bin/$base" ]; \
43+ alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
44+ done; \
45+ java -Xshare:dump; \
46+ useradd -M -s /bin/bash -g root -u 1000 oracle
47+
48+ USER oracle
4749
4850COPY wls-exporter-sidecar/target/wls-exporter-sidecar.jar /app/wls-exporter-sidecar.jar
4951COPY wls-exporter-sidecar/target/libs /app/libs
5052
51- ENTRYPOINT ["/opt/java /bin/java" , "-jar" , "/app/wls-exporter-sidecar.jar" ]
53+ ENTRYPOINT ["/jre /bin/java" , "-jar" , "/app/wls-exporter-sidecar.jar" ]
5254
5355EXPOSE 8080
0 commit comments