-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDockerfile.arm64
More file actions
41 lines (32 loc) · 1.26 KB
/
Dockerfile.arm64
File metadata and controls
41 lines (32 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# syntax=docker/dockerfile:1.6
FROM ubuntu:24.04 AS default-jdk
COPY --from=eclipse-temurin:8-jdk-noble /opt/java/openjdk /usr/lib/jvm/8
COPY --from=eclipse-temurin:11-jdk-noble /opt/java/openjdk /usr/lib/jvm/11
COPY --from=eclipse-temurin:17-jdk-noble /opt/java/openjdk /usr/lib/jvm/17
COPY --from=eclipse-temurin:21-jdk-noble /opt/java/openjdk /usr/lib/jvm/21
COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25
RUN <<-EOT
set -eux
rm -rf \
/usr/lib/jvm/*/lib/src.zip \
/usr/lib/jvm/*/demo \
/usr/lib/jvm/*/sample
EOT
FROM ubuntu:24.04 AS base
LABEL org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build
RUN apt-get update \
&& apt-get install -y --no-install-recommends git lsof \
&& git config --system --add safe.directory "*" \
&& rm -rf /var/lib/apt/lists/*
COPY --from=default-jdk /usr/lib/jvm /usr/lib/jvm
RUN groupadd --gid 1001 non-root-group \
&& useradd --uid 1001 --gid non-root-group --create-home --shell /bin/bash non-root-user
ENV JAVA_8_HOME=/usr/lib/jvm/8
ENV JAVA_11_HOME=/usr/lib/jvm/11
ENV JAVA_17_HOME=/usr/lib/jvm/17
ENV JAVA_21_HOME=/usr/lib/jvm/21
ENV JAVA_25_HOME=/usr/lib/jvm/25
ENV JAVA_HOME=${JAVA_8_HOME}
ENV PATH=${JAVA_HOME}/bin:${PATH}
USER non-root-user
WORKDIR /home/non-root-user