Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ Maintained by the [Gradle team](https://github.com/gradle/docker-gradle) as an [
- **JDK 11** → [`jdk11`, `jdk11-noble`](https://github.com/gradle/docker-gradle/tree/8/jdk11-noble/Dockerfile), [`jdk11-jammy`](https://github.com/gradle/docker-gradle/tree/8/jdk11-jammy/Dockerfile), [`jdk11-alpine`](https://github.com/gradle/docker-gradle/tree/8/jdk11-alpine/Dockerfile), [`jdk11-corretto`](https://github.com/gradle/docker-gradle/tree/8/jdk11-corretto/Dockerfile), [`jdk11-ubi9`](https://github.com/gradle/docker-gradle/tree/8/jdk11-ubi9/Dockerfile)
- **JDK 17** → [`jdk17`, `jdk17-noble`](jdk17-noble/Dockerfile), [`jdk17-jammy`](jdk17-jammy/Dockerfile), [`jdk17-alpine`](jdk17-alpine/Dockerfile), [`jdk17-corretto`](jdk17-corretto/Dockerfile), [`jdk17-ubi10`](jdk17-ubi10/Dockerfile), [`jdk17-ubi9`](jdk17-ubi9/Dockerfile), [`jdk17-noble-graal`](jdk17-noble-graal/Dockerfile)
- **JDK 21** → [`jdk21`, `jdk21-noble`](jdk21-noble/Dockerfile), [`jdk21-jammy`](jdk21-jammy/Dockerfile), [`jdk21-alpine`](jdk21-alpine/Dockerfile), [`jdk21-corretto`](jdk21-corretto/Dockerfile), [`jdk21-ubi10`](jdk21-ubi10/Dockerfile), [`jdk21-ubi9`](jdk21-ubi9/Dockerfile), [`jdk21-graal`](jdk21-noble-graal/Dockerfile)
- **JDK 25 (LTS)** → [`jdk25`, `jdk25-noble`, `latest`](jdk25-noble/Dockerfile), [`jdk25-alpine`, `alpine`](jdk25-alpine/Dockerfile), [`jdk25-corretto`, `corretto`](jdk25-corretto/Dockerfile), [`jdk25-ubi10`, `ubi`](jdk25-ubi10/Dockerfile), [`jdk25-graal`, `graal`](jdk25-noble-graal/Dockerfile)
- **JDK 25 (LTS)** → [`jdk25`, `jdk25-noble`](jdk25-noble/Dockerfile), [`jdk25-alpine`](jdk25-alpine/Dockerfile), [`jdk25-corretto`](jdk25-corretto/Dockerfile), [`jdk25-ubi10`](jdk25-ubi10/Dockerfile), [`jdk25-graal`, `graal`](jdk25-noble-graal/Dockerfile)
- **JDK 26** → [`jdk26`, `jdk26-noble`, `latest`](jdk26-noble/Dockerfile), [`jdk26-alpine`, `alpine`](jdk26-alpine/Dockerfile), [`jdk26-corretto`, `corretto`](jdk26-corretto/Dockerfile), [`jdk26-ubi10`, `ubi`](jdk26-ubi10/Dockerfile)

See all tags on [Docker Hub](https://hub.docker.com/_/gradle/tags).

Expand Down
5 changes: 2 additions & 3 deletions jdk-lts-and-current-alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
FROM eclipse-temurin:25-jdk-alpine

# We need this again when Java 26 comes out
#COPY --from=eclipse-temurin:26-jdk-alpine /opt/java/openjdk /opt/java/openjdk26
COPY --from=eclipse-temurin:26-jdk-alpine /opt/java/openjdk /opt/java/openjdk26
RUN set -o errexit -o nounset \
&& ln -s /opt/java/openjdk /opt/java/openjdk25
ENV JAVA_CURRENT_HOME=/opt/java/openjdk25
ENV JAVA_LTS_HOME=/opt/java/openjdk25
ENV JAVA_CURRENT_HOME=/opt/java/openjdk26

CMD ["gradle"]

Expand Down
5 changes: 2 additions & 3 deletions jdk-lts-and-current-corretto/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
FROM amazoncorretto:25-al2023-jdk

# We need this again when Java 26 comes out
#COPY --from=amazoncorretto:26-al2023-jdk /usr/lib/jvm/java-26-amazon-corretto /usr/lib/jvm/java-26-amazon-corretto
COPY --from=amazoncorretto:26-al2023-jdk /usr/lib/jvm/java-26-amazon-corretto /usr/lib/jvm/java-26-amazon-corretto
ENV JAVA_LTS_HOME=/usr/lib/jvm/java-25-amazon-corretto
ENV JAVA_CURRENT_HOME=/usr/lib/jvm/java-25-amazon-corretto
ENV JAVA_CURRENT_HOME=/usr/lib/jvm/java-26-amazon-corretto

CMD ["gradle"]

Expand Down
5 changes: 2 additions & 3 deletions jdk-lts-and-current/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
FROM eclipse-temurin:25-jdk-noble

# We need this again when Java 26 comes out
#COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /opt/java/openjdk26
COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /opt/java/openjdk26
RUN set -o errexit -o nounset \
&& ln --symbolic /opt/java/openjdk /opt/java/openjdk25
ENV JAVA_LTS_HOME=/opt/java/openjdk25
ENV JAVA_CURRENT_HOME=/opt/java/openjdk25
ENV JAVA_CURRENT_HOME=/opt/java/openjdk26

CMD ["gradle"]

Expand Down
78 changes: 78 additions & 0 deletions jdk26-alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
FROM eclipse-temurin:26-jdk-alpine

CMD ["gradle"]

ENV GRADLE_HOME=/opt/gradle

RUN set -o errexit -o nounset \
&& echo "Adding gradle user and group" \
&& addgroup --system --gid 1000 gradle \
&& adduser --system --ingroup gradle --uid 1000 --shell /bin/ash gradle \
&& mkdir /home/gradle/.gradle \
&& chown -R gradle:gradle /home/gradle \
&& chmod -R o+rwx /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln -s /home/gradle/.gradle /root/.gradle

VOLUME /home/gradle/.gradle

WORKDIR /home/gradle

RUN set -o errexit -o nounset \
&& apk add --no-cache \
# common utilities
make \
curl \
wget \
tar \
\
# VCSes
breezy \
py3-tzlocal \
git \
git-lfs \
mercurial \
subversion \
\
&& echo "Testing common utilities" \
&& which awk \
&& which curl \
&& which cut \
&& which grep \
&& which gunzip \
&& which sha256sum \
&& which sed \
&& which tar \
&& which tr \
&& which unzip \
&& which wget \
\
&& echo "Testing VCSes" \
&& which git \
&& which git-lfs \
&& which hg \
&& which svn

ENV GRADLE_VERSION=9.4.1
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking Gradle download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum -c - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln -s "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle

USER gradle

RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --stacktrace --debug --version

USER root
85 changes: 85 additions & 0 deletions jdk26-corretto/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
FROM amazoncorretto:26-al2023-jdk

CMD ["gradle"]

ENV GRADLE_HOME=/opt/gradle

RUN set -o errexit -o nounset \
&& dnf install -y \
# common utilities
make \
curl-minimal \
wget \
tar \
\
# Dockerfile dependencies
unzip \
which \
\
# Gradle dependencies
findutils \
\
# VCS dependencies
git \
git-lfs \
mercurial \
subversion \
&& dnf clean all \
&& rm -rf /var/cache/yum \
\
&& echo "Testing common utilities" \
&& which awk \
&& which curl \
&& which cut \
&& which grep \
&& which gunzip \
&& which sha256sum \
&& which sed \
&& which tar \
&& which tr \
&& which unzip \
&& which wget \
\
&& echo "Testing VCSes" \
&& which git \
&& which git-lfs \
&& which hg \
&& which svn

RUN set -o errexit -o nounset \
&& echo "Adding gradle user and group" \
&& groupadd --system --gid 1000 gradle \
&& useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
&& mkdir /home/gradle/.gradle \
&& chown --recursive gradle:gradle /home/gradle \
&& chmod --recursive o+rwx /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln --symbolic /home/gradle/.gradle /root/.gradle

VOLUME /home/gradle/.gradle

WORKDIR /home/gradle

ENV GRADLE_VERSION=9.4.1
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking Gradle download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle

USER gradle

RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --stacktrace --debug --version

USER root
86 changes: 86 additions & 0 deletions jdk26-noble/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
FROM eclipse-temurin:26-jdk-noble

CMD ["gradle"]

ENV GRADLE_HOME=/opt/gradle

RUN set -o errexit -o nounset \
&& echo "Renaming ubuntu user and group to gradle" \
&& groupmod --new-name gradle ubuntu \
&& mkdir /home/gradle \
&& usermod --login gradle --home /home/gradle --groups gradle ubuntu \
&& chown gradle /home/gradle \
&& mkdir /home/gradle/.gradle \
&& chown --recursive gradle:gradle /home/gradle \
&& chmod --recursive o+rwx /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln --symbolic /home/gradle/.gradle /root/.gradle

VOLUME /home/gradle/.gradle

WORKDIR /home/gradle

RUN set -o errexit -o nounset \
&& apt-get update \
&& apt-get install --yes --no-install-recommends \
# common utilities
make \
curl \
wget \
tar \
\
# Dockerfile dependencies
unzip \
\
# VCSes
brz \
git \
git-lfs \
mercurial \
openssh-client \
subversion \
&& rm --recursive --force /var/lib/apt/lists/* \
\
&& echo "Testing common utilities" \
&& which awk \
&& which curl \
&& which cut \
&& which grep \
&& which gunzip \
&& which sha256sum \
&& which sed \
&& which tar \
&& which tr \
&& which unzip \
&& which wget \
\
&& echo "Testing VCSes" \
&& which brz \
&& which git \
&& which git-lfs \
&& which hg \
&& which svn

ENV GRADLE_VERSION=9.4.1
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking Gradle download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle

USER gradle

RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --stacktrace --debug --version

USER root
82 changes: 82 additions & 0 deletions jdk26-ubi10/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
FROM eclipse-temurin:26-jdk-ubi10-minimal

CMD ["gradle"]

ENV GRADLE_HOME=/opt/gradle

RUN set -o errexit -o nounset \
&& echo "Adding gradle user and group" \
&& groupadd --system --gid 101 gradle \
&& useradd --system --gid gradle --uid 101 --shell /bin/bash --create-home gradle \
&& mkdir /home/gradle/.gradle \
&& chown --recursive gradle:gradle /home/gradle \
&& chmod --recursive o+rwx /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln --symbolic /home/gradle/.gradle /root/.gradle

VOLUME /home/gradle/.gradle

WORKDIR /home/gradle

RUN set -o errexit -o nounset \
&& microdnf install -y \
# common utilities
make \
curl \
wget \
tar \
\
# Gradle dependencies
findutils \
\
# Dockerfile dependencies
unzip \
which \
\
# VCS dependencies
git \
git-lfs \
subversion \
&& microdnf clean all \
\
&& echo "Testing common utilities" \
&& which awk \
&& which curl \
&& which cut \
&& which grep \
&& which gunzip \
&& which sha256sum \
&& which sed \
&& which tar \
&& which tr \
&& which unzip \
&& which wget \
\
&& echo "Testing VCSes" \
&& which git \
&& which git-lfs \
&& which svn

ENV GRADLE_VERSION=9.4.1
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking Gradle download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle

USER gradle

RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --stacktrace --debug --version

USER root
1 change: 1 addition & 0 deletions update.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,5 +148,6 @@ def main():

update_graalvm_dockerfiles(["jdk-lts-and-current-graal"], graal25_version, graal25_amd64_sha, graal25_aarch64_sha, env_prefix="LTS")
update_graalvm_dockerfiles(["jdk-lts-and-current-graal"], graal25_version, graal25_amd64_sha, graal25_aarch64_sha, env_prefix="CURRENT")

if __name__ == "__main__":
main()
Loading