Skip to content

Commit 0040167

Browse files
authored
Merge pull request #269 from oracle/no-docker-io-dockerfile
Update Dockerfile to be in line with other WKT projects
2 parents 1fa4e02 + 775b96a commit 0040167

File tree

1 file changed

+22
-34
lines changed

1 file changed

+22
-34
lines changed

Dockerfile

Lines changed: 22 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,18 @@
1-
# Copyright (c) 2021, 2022, Oracle and/or its affiliates.
1+
# Copyright (c) 2021, 2023, Oracle and/or its affiliates.
22
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

4-
# First layer: dependencies for the project, cached in the /root/.m2 directory
5-
FROM maven:3-openjdk-18-slim as m2repo
6-
ARG MAVEN_OPTS
4+
FROM ghcr.io/oracle/oraclelinux:9-slim AS jre-build
75

8-
WORKDIR /project/
9-
COPY pom.xml .
10-
COPY build-helper-mojo/pom.xml build-helper-mojo/
11-
COPY wls-exporter-core/pom.xml wls-exporter-core/
12-
COPY wls-exporter-sidecar/pom.xml wls-exporter-sidecar/
13-
14-
RUN mvn -B -e -C org.apache.maven.plugins:maven-dependency-plugin:3.1.2:go-offline -Ddocker-build
15-
16-
# Now build the project on top of that first layer
17-
FROM maven:3-openjdk-18-slim as build
18-
ARG MAVEN_OPTS
19-
20-
WORKDIR /project/
21-
COPY --from=m2repo /root/.m2 /root/.m2
22-
COPY pom.xml .
23-
COPY build-helper-mojo/ build-helper-mojo/
24-
COPY wls-exporter-core/ wls-exporter-core/
25-
COPY wls-exporter-sidecar/ wls-exporter-sidecar/
6+
ENV JAVA_URL="https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_linux-x64_bin.tar.gz"
267

278
RUN set -eux; \
28-
apt-get update; \
29-
apt-get install git -y; \
30-
mvn -B -e -C install -Ddocker-build -DskipTests=true; \
31-
$JAVA_HOME/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
9+
microdnf -y install gzip tar; \
10+
curl -fL -o /jdk.tar.gz "$JAVA_URL"; \
11+
mkdir -p /jdk; \
12+
tar --extract --file /jdk.tar.gz --directory /jdk --strip-components 1; \
13+
/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
3214

33-
FROM ghcr.io/oracle/oraclelinux:8-slim
15+
FROM ghcr.io/oracle/oraclelinux:9-slim
3416

3517
LABEL "org.opencontainers.image.authors"="Ryan Eberhard <ryan.eberhard@oracle.com>, Russell Gold <russell.gold@oracle.com>" \
3618
"org.opencontainers.image.url"="https://github.com/oracle/weblogic-monitoring-exporter" \
@@ -40,8 +22,11 @@ LABEL "org.opencontainers.image.authors"="Ryan Eberhard <ryan.eberhard@oracle.co
4022
"org.opencontainers.image.description"="Oracle WebLogic Monitoring Exporter" \
4123
"org.opencontainers.image.documentation"="https://github.com/oracle/weblogic-monitoring-exporter"
4224

43-
COPY --from=build /jre jre
25+
ENV LANG="en_US.UTF-8"
4426

27+
COPY --from=jre-build /jre jre
28+
29+
# Install Java and make the operator run with a non-root user id (1000 is the `oracle` user)
4530
RUN set -eux; \
4631
microdnf -y update; \
4732
microdnf clean all; \
@@ -50,12 +35,15 @@ RUN set -eux; \
5035
[ ! -e "/usr/bin/$base" ]; \
5136
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
5237
done; \
53-
java -Xshare:dump
38+
java -Xshare:dump; \
39+
useradd -M -s /bin/bash -g root -u 1000 oracle
40+
41+
USER oracle
5442

55-
COPY --from=build project/wls-exporter-sidecar/target/wls-exporter-sidecar.jar ./
56-
COPY --from=build project/wls-exporter-sidecar/target/libs ./libs
57-
COPY start_exporter.sh .
43+
COPY --chown=oracle:root wls-exporter-sidecar/target/wls-exporter-sidecar.jar ./
44+
COPY --chown=oracle:root wls-exporter-sidecar/target/libs ./libs
45+
COPY --chown=oracle:root start_exporter.sh .
5846

59-
ENTRYPOINT ["sh", "start_exporter.sh"]
47+
CMD ["/start_exporter.sh"]
6048

61-
EXPOSE 8080
49+
EXPOSE 8080

0 commit comments

Comments
 (0)