Skip to content

Commit 55e15b5

Browse files
committed
Replace cimg base image with ubuntu:24.04
1 parent 3c26d22 commit 55e15b5

File tree

1 file changed

+38
-33
lines changed

1 file changed

+38
-33
lines changed

Dockerfile

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# syntax=docker/dockerfile:1.6
22

33
# Intermediate image used to prune cruft from JDKs and squash them all.
4-
FROM cimg/base:current-22.04 AS all-jdk
4+
FROM ubuntu:24.04 AS all-jdk
55

66
COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8
77
COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11
@@ -21,28 +21,34 @@ COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm
2121
COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17
2222
COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21
2323

24-
RUN sudo apt-get -y update && sudo apt-get -y install curl
24+
RUN apt-get update && \
25+
apt-get install -y curl tar apt-transport-https ca-certificates gnupg wget && \
26+
apt-get clean && \
27+
rm -rf /var/lib/apt/lists/*
28+
2529
# See: https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6
2630
RUN <<-EOT
2731
set -eux
28-
sudo mkdir -p /usr/lib/jvm/oracle8
29-
curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=246284_165374ff4ea84ef0bbd821706e29b123" | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1
32+
mkdir -p /usr/lib/jvm/oracle8
33+
curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=246284_165374ff4ea84ef0bbd821706e29b123" | tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1
3034
EOT
3135

3236
# Install Ubuntu's OpenJDK 17 and fix broken symlinks:
3337
# some files in /usr/lib/jvm/ubuntu17 are symlinks to /etc/java-17-openjdk/, so we just copy all symlinks targets.
3438
RUN <<-EOT
3539
set -eux
36-
sudo apt-get install openjdk-17-jdk
37-
sudo mv /usr/lib/jvm/java-17-openjdk-amd64 /usr/lib/jvm/ubuntu17
38-
sudo cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/conf/
39-
sudo cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/lib/
40-
sudo cp -f --remove-destination /etc/java-17-openjdk/jvm-amd64.cfg /usr/lib/jvm/ubuntu17/lib/
40+
apt-get update
41+
apt-get install -y openjdk-17-jdk
42+
mv /usr/lib/jvm/java-17-openjdk-amd64 /usr/lib/jvm/ubuntu17
43+
mkdir -p /usr/lib/jvm/ubuntu17/conf/ /usr/lib/jvm/ubuntu17/lib/
44+
cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/conf/
45+
cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/lib/
46+
cp -f --remove-destination /etc/java-17-openjdk/jvm-amd64.cfg /usr/lib/jvm/ubuntu17/lib/
4147
EOT
4248

4349
# Remove cruft from JDKs that is not used in the build process.
4450
RUN <<-EOT
45-
sudo rm -rf \
51+
rm -rf \
4652
/usr/lib/jvm/*/man \
4753
/usr/lib/jvm/*/lib/src.zip \
4854
/usr/lib/jvm/*/demo \
@@ -59,23 +65,28 @@ COPY --from=all-jdk /usr/lib/jvm/21 /usr/lib/jvm/21
5965

6066
# Base image with minimunm requirenents to build the project.
6167
# Based on CircleCI Base Image with Ubuntu 22.04.3 LTS, present in most runners.
62-
FROM cimg/base:current-22.04 AS base
68+
FROM ubuntu:24.04 AS base
6369

6470
# https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package
6571
LABEL org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build
6672

67-
# Replace Docker Compose and yq versions by latest and remove docker-switch from CircleCI Base Image for security purposes
73+
RUN apt-get update && \
74+
apt-get install -y curl apt-transport-https ca-certificates gnupg \
75+
socat less debian-goodies autossh ca-certificates-java python3-pip && \
76+
apt-get clean && \
77+
rm -rf /var/lib/apt/lists/* && \
78+
mkdir -p /usr/local/lib/docker/cli-plugins /usr/local/bin
79+
80+
# Install Docker Compose plugin and yq YAML processor
6881
RUN <<-EOT
6982
set -eu
7083
dockerPluginDir=/usr/local/lib/docker/cli-plugins
71-
sudo curl -sSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o $dockerPluginDir/docker-compose
72-
sudo chmod +x $dockerPluginDir/docker-compose
73-
sudo sudo update-alternatives --remove docker-compose /usr/local/bin/compose-switch
74-
sudo rm -f /usr/local/bin/compose-switch
75-
sudo rm /usr/local/bin/{install-man-page.sh,yq*}
76-
curl -sSL "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_$(dpkg --print-architecture).tar.gz" | sudo tar -xz -C /usr/local/bin --wildcards --no-anchored 'yq_linux_*'
77-
sudo mv /usr/local/bin/yq{_linux_*,}
78-
sudo chown root:root /usr/local/bin/yq
84+
curl -sSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o $dockerPluginDir/docker-compose
85+
chmod +x $dockerPluginDir/docker-compose
86+
curl -sSL "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_$(dpkg --print-architecture).tar.gz" | tar -xz -C /usr/local/bin --wildcards --no-anchored 'yq_linux_*'
87+
YQ_PATH=$(find /usr/local/bin -name 'yq_linux_*')
88+
mv "$YQ_PATH" /usr/local/bin/yq
89+
chown root:root /usr/local/bin/yq
7990
EOT
8091

8192
COPY --from=default-jdk /usr/lib/jvm /usr/lib/jvm
@@ -88,20 +99,14 @@ COPY autoforward.py /usr/local/bin/autoforward
8899
# - datadog-ci: Datadog CI tool
89100
RUN <<-EOT
90101
set -eux
91-
sudo apt-get update
92-
sudo apt-get install --no-install-recommends apt-transport-https socat
93-
sudo apt-get install --no-install-recommends vim less debian-goodies
94-
sudo apt-get install --no-install-recommends autossh
95-
sudo apt-get install ca-certificates-java
96-
sudo apt install python3-pip
97-
sudo apt-get -y clean
98-
sudo rm -rf /var/lib/apt/lists/*
99-
pip3 install awscli
100-
pip3 install requests requests-unixsocket2
102+
apt-get update
103+
pip3 install --break-system-packages awscli requests requests-unixsocket2
101104
pip3 cache purge
102-
sudo chmod +x /usr/local/bin/autoforward
103-
sudo curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci"
104-
sudo chmod +x /usr/local/bin/datadog-ci
105+
chmod +x /usr/local/bin/autoforward
106+
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci"
107+
chmod +x /usr/local/bin/datadog-ci
108+
apt-get clean
109+
rm -rf /var/lib/apt/lists/*
105110
EOT
106111

107112
# IBM specific env variables

0 commit comments

Comments
 (0)