@@ -24,18 +24,39 @@ COPY wls-exporter-sidecar/ wls-exporter-sidecar/
24
24
25
25
RUN mvn -B -e -C install -Ddocker-build -DskipTests=true
26
26
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
28
30
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"
30
40
31
41
RUN set -eux; \
32
- microdnf -y install gzip tar; \
33
42
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
37
57
38
- FROM ghcr.io/oracle/oraclelinux:8-slim
58
+ # Finally, copy the exporter sidecar and create the docker image
59
+ FROM linux as base
39
60
40
61
LABEL "org.opencontainers.image.authors" =
"Ryan Eberhard <[email protected] >, Russell Gold <[email protected] >" \
41
62
"org.opencontainers.image.url" ="https://github.com/oracle/weblogic-monitoring-exporter" \
@@ -45,22 +66,10 @@ LABEL "org.opencontainers.image.authors"="Ryan Eberhard <
[email protected]
45
66
"org.opencontainers.image.description" ="Oracle WebLogic Monitoring Exporter" \
46
67
"org.opencontainers.image.documentation" ="https://github.com/oracle/weblogic-monitoring-exporter"
47
68
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
-
60
69
COPY --from=build project/wls-exporter-sidecar/target/wls-exporter-sidecar.jar ./
61
70
COPY --from=build project/wls-exporter-sidecar/target/libs ./libs
62
71
COPY start_exporter.sh .
63
72
64
73
ENTRYPOINT ["sh" , "start_exporter.sh" ]
65
74
66
- EXPOSE 8080
75
+ EXPOSE 8080
0 commit comments