@@ -24,18 +24,39 @@ COPY wls-exporter-sidecar/ wls-exporter-sidecar/
2424
2525RUN mvn -B -e -C install -Ddocker-build -DskipTests=true
2626
27- FROM ghcr.io/oracle/oraclelinux:8-slim AS jre-build
27+ # Install Java on top of the linux image
28+ FROM ghcr.io/oracle/oraclelinux:8-slim as linux
29+ WORKDIR /tmp
2830
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"
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"
3040
3141RUN set -eux; \
32- microdnf -y install gzip tar; \
3342 curl -fL -o /jdk.tar.gz "$JAVA_URL" ; \
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.unsupported,jdk.crypto.ec,jdk.zipfs
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
3757
38- FROM ghcr.io/oracle/oraclelinux:8-slim
58+ # Finally, copy the exporter sidecar and create the docker image
59+ FROM linux as base
3960
4061LABEL "org.opencontainers.image.authors" ="Ryan Eberhard <ryan.eberhard@oracle.com>, Russell Gold <russell.gold@oracle.com>" \
4162 "org.opencontainers.image.url" ="https://github.com/oracle/weblogic-monitoring-exporter" \
@@ -45,22 +66,10 @@ LABEL "org.opencontainers.image.authors"="Ryan Eberhard <ryan.eberhard@oracle.co
4566 "org.opencontainers.image.description" ="Oracle WebLogic Monitoring Exporter" \
4667 "org.opencontainers.image.documentation" ="https://github.com/oracle/weblogic-monitoring-exporter"
4768
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-
6069COPY --from=build project/wls-exporter-sidecar/target/wls-exporter-sidecar.jar ./
6170COPY --from=build project/wls-exporter-sidecar/target/libs ./libs
6271COPY start_exporter.sh .
6372
6473ENTRYPOINT ["sh" , "start_exporter.sh" ]
6574
66- EXPOSE 8080
75+ EXPOSE 8080
0 commit comments