Skip to content

Commit

Permalink
Add Ubuntu 24.04 (JDK 17 + 21) images
Browse files Browse the repository at this point in the history
  • Loading branch information
hbenali committed Apr 15, 2024
1 parent a76d43d commit ae98fa0
Show file tree
Hide file tree
Showing 6 changed files with 150 additions and 5 deletions.
12 changes: 9 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,19 @@ jobs:
matrix:
include:
# JDK 21
## Ubuntu 22.04 (latest)
## Ubuntu 24.04 (latest)
- context: openjdk-21/ubuntu/24.04
imageTag: latest,21,21-ubuntu,21-ubuntu-24,21-ubuntu-2404,openjdk-21,openjdk-21-ubuntu,openjdk-21-ubuntu-22,openjdk-21-ubuntu-2404
## Ubuntu 22.04
- context: openjdk-21/ubuntu/22.04
imageTag: latest,21,21-ubuntu,21-ubuntu-22,21-ubuntu-2204,openjdk-21,openjdk-21-ubuntu,openjdk-21-ubuntu-22,openjdk-21-ubuntu-2204
imageTag: 21-ubuntu-22,21-ubuntu-2204,openjdk-21-ubuntu-22,openjdk-21-ubuntu-2204
# JDK 17
## Ubuntu 24.04
- context: openjdk-17/ubuntu/24.04
imageTag: 17,17-ubuntu,17-ubuntu-24,17-ubuntu-2404,openjdk-17,openjdk-17-ubuntu,openjdk-17-ubuntu-24,openjdk-17-ubuntu-2404
## Ubuntu 22.04
- context: openjdk-17/ubuntu/22.04
imageTag: 17,17-ubuntu,17-ubuntu-22,17-ubuntu-2204,openjdk-17,openjdk-17-ubuntu,openjdk-17-ubuntu-22,openjdk-17-ubuntu-2204
imageTag: 17-ubuntu-22,17-ubuntu-2204,openjdk-17-ubuntu-22,openjdk-17-ubuntu-2204
## Ubuntu 20.04
- context: openjdk-17/ubuntu/20.04
imageTag: 17-ubuntu-20,17-ubuntu-2004,openjdk-17-ubuntu-20,openjdk-17-ubuntu-2004
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@

| JDK version | Docker tags | Dockerfile |
|-----------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
| openjdk-21 ( 21.0.2 ) + Ubuntu 22.04 | `openjdk-21`, `openjdk-21-ubuntu`, `openjdk-21-ubuntu-22`, `openjdk-21-ubuntu-2204`,`latest` | *[( openjdk-21/ubuntu/22.04/Dockerfile )](./openjdk-21/ubuntu/22.04/Dockerfile)* |
| openjdk-21 ( 21.0.2 ) + Ubuntu 24.04 | `openjdk-21`, `openjdk-21-ubuntu`, `openjdk-21-ubuntu-24`, `openjdk-21-ubuntu-2404`,`latest` | *[( openjdk-21/ubuntu/24.04/Dockerfile )](./openjdk-21/ubuntu/24.04/Dockerfile)* |
| openjdk-21 ( 21.0.2 ) + Ubuntu 22.04 | `openjdk-21-ubuntu-22`, `openjdk-21-ubuntu-2204` | *[( openjdk-21/ubuntu/22.04/Dockerfile )](./openjdk-21/ubuntu/22.04/Dockerfile)* |
| openjdk-17 ( 17.0.10 ) + Ubuntu 22.04 | `openjdk-17`, `openjdk-17-ubuntu`, `openjdk-17-ubuntu-22`, `openjdk-17-ubuntu-2204` | *[( openjdk-17/ubuntu/22.04/Dockerfile )](./openjdk-17/ubuntu/22.04/Dockerfile)* |
| openjdk-14 ( 14.0.2 ) + Ubuntu 22.04 | `openjdk-14`, `openjdk-14-ubuntu`, `openjdk-14-ubuntu-22`, `openjdk-14-ubuntu-2204` | *[( openjdk-14/ubuntu/22.04/Dockerfile )](./openjdk-14/ubuntu/22.04/Dockerfile)* |
| openjdk-11 ( 11.0.19 ) + Ubuntu 22.04 | `openjdk-11`, `openjdk-11-ubuntu`, `openjdk-11-ubuntu-22`, `openjdk-11-ubuntu-2204` | *[( openjdk-11/ubuntu/22.04/Dockerfile )](./openjdk-11/ubuntu/22.04/Dockerfile)* |
| openjdk-17 ( 17.0.10 ) + Ubuntu 20.04 | `openjdk-17`, `openjdk-17-ubuntu`, `openjdk-17-ubuntu-20`, `openjdk-17-ubuntu-2004` | *[( openjdk-17/ubuntu/20.04/Dockerfile )](./openjdk-17/ubuntu/20.04/Dockerfile)* |
| openjdk-17 ( 17.0.10 ) + Ubuntu 24.04 | `openjdk-17`, `openjdk-17-ubuntu`, `openjdk-17-ubuntu-24`, `openjdk-17-ubuntu-2404` | *[( openjdk-17/ubuntu/24.04/Dockerfile )](./openjdk-17/ubuntu/24.04/Dockerfile)* |
| openjdk-17 ( 17.0.10 ) + Ubuntu 22.04 | `openjdk-17-ubuntu-22`, `openjdk-17-ubuntu-2204` | *[( openjdk-17/ubuntu/22.04/Dockerfile )](./openjdk-17/ubuntu/22.04/Dockerfile)* |
| openjdk-17 ( 17.0.10 ) + Ubuntu 20.04 | `openjdk-17-ubuntu-20`, `openjdk-17-ubuntu-2004` | *[( openjdk-17/ubuntu/20.04/Dockerfile )](./openjdk-17/ubuntu/20.04/Dockerfile)* |
| openjdk-14 ( 14.0.2 ) + Ubuntu 20.04 | `openjdk-14`, `openjdk-14-ubuntu`, `openjdk-14-ubuntu-20`, `openjdk-14-ubuntu-2004` | *[( openjdk-14/ubuntu/20.04/Dockerfile )](./openjdk-14/ubuntu/20.04/Dockerfile)* |
| openjdk-11 ( 11.0.19 ) + Ubuntu 20.04 | `openjdk-11`, `openjdk-11-ubuntu`, `openjdk-11-ubuntu-20`, `openjdk-11-ubuntu-2004` | *[( openjdk-11/ubuntu/20.04/Dockerfile )](./openjdk-11/ubuntu/20.04/Dockerfile)* |
| 8 ( 8u342 ) + Ubuntu 20.04 | `8`, `8-ubuntu`, `8-ubuntu-20`, `8-ubuntu-2004` | *[( 8/ubuntu/20.04/Dockerfile )](./8/ubuntu/18.04/Dockerfile)*
Expand Down
36 changes: 36 additions & 0 deletions openjdk-17/ubuntu/24.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Dockerizing a base images with:
#
# - Ubuntu 24.04 LTS (Noble Numbat)
# - OpenJDK 17
#
# Build: docker build -t exoplatform/jdk:openjdk-17 .
#
# Run: docker run -ti exoplatform/jdk:openjdk-17 -version

FROM exoplatform/ubuntu:24.04
LABEL maintainer="eXo Platform <docker@exoplatform.com>"

ENV JDK_VERSION 17.0.10
ENV JDK_MAJOR_VERSION 17
ENV TEMURIN_SUFFIX 7

ENV JDK_DOWNLOAD http://storage.exoplatform.org/public/java/jdk/openjdk/${JDK_VERSION}/openjdk-${JDK_VERSION}_linux-x64_bin.tar.gz


# Install OpenJDK Java 17 SDK
ENV JVM_DIR /usr/lib/jvm
RUN mkdir -p "${JVM_DIR}"

RUN wget -q --no-cookies --no-check-certificate \
-O "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" "${JDK_DOWNLOAD}" \
&& cd "${JVM_DIR}" \
&& tar --no-same-owner -xzf "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" \
&& rm -f "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" \
&& mv "${JVM_DIR}/jdk-${JDK_VERSION}+${TEMURIN_SUFFIX}" "${JVM_DIR}/java-${JDK_VERSION}-openjdk-x64" \
&& ln -s "${JVM_DIR}/java-${JDK_VERSION}-openjdk-x64" "${JVM_DIR}/java-${JDK_MAJOR_VERSION}-openjdk-x64"

ADD java-x64.jinfo ${JVM_DIR}/.java-x64.jinfo
RUN cat "${JVM_DIR}/.java-x64.jinfo" | grep -E '^(jre|jdk|hl)' | awk '{print "/usr/bin/" $2 " " $2 " " $3 " 30 \n"}' | xargs -t -n4 gosu root update-alternatives --install
ENV JAVA_HOME ${JVM_DIR}/java-${JDK_MAJOR_VERSION}-openjdk-x64

ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"]
32 changes: 32 additions & 0 deletions openjdk-17/ubuntu/24.04/java-x64.jinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name=java-17-openjdk-x64
alias=java-17.0.10-openjdk-x64
priority=30
section=main

hl java /usr/lib/jvm/java-17-openjdk-x64/bin/java
hl keytool /usr/lib/jvm/java-17-openjdk-x64/bin/keytool
hl rmiregistry /usr/lib/jvm/java-17-openjdk-x64/bin/rmiregistry
hl jexec /usr/lib/jvm/java-17-openjdk-x64/lib/jexec
jdk jar /usr/lib/jvm/java-17-openjdk-x64/bin/jar
jdk jarsigner /usr/lib/jvm/java-17-openjdk-x64/bin/jarsigner
jdk javac /usr/lib/jvm/java-17-openjdk-x64/bin/javac
jdk javadoc /usr/lib/jvm/java-17-openjdk-x64/bin/javadoc
jdk javap /usr/lib/jvm/java-17-openjdk-x64/bin/javap
jdk jcmd /usr/lib/jvm/java-17-openjdk-x64/bin/jcmd
jdk jconsole /usr/lib/jvm/java-17-openjdk-x64/bin/jconsole
jdk jdb /usr/lib/jvm/java-17-openjdk-x64/bin/jdb
jdk jdeprscan /usr/lib/jvm/java-17-openjdk-x64/bin/jdeprscan
jdk jdeps /usr/lib/jvm/java-17-openjdk-x64/bin/jdeps
jdk jhsdb /usr/lib/jvm/java-17-openjdk-x64/bin/jhsdb
jdk jimage /usr/lib/jvm/java-17-openjdk-x64/bin/jimage
jdk jinfo /usr/lib/jvm/java-17-openjdk-x64/bin/jinfo
jdk jlink /usr/lib/jvm/java-17-openjdk-x64/bin/jlink
jdk jmap /usr/lib/jvm/java-17-openjdk-x64/bin/jmap
jdk jmod /usr/lib/jvm/java-17-openjdk-x64/bin/jmod
jdk jps /usr/lib/jvm/java-17-openjdk-x64/bin/jps
jdk jrunscript /usr/lib/jvm/java-17-openjdk-x64/bin/jrunscript
jdk jshell /usr/lib/jvm/java-17-openjdk-x64/bin/jshell
jdk jstack /usr/lib/jvm/java-17-openjdk-x64/bin/jstack
jdk jstat /usr/lib/jvm/java-17-openjdk-x64/bin/jstat
jdk jstatd /usr/lib/jvm/java-17-openjdk-x64/bin/jstatd
jdk serialver /usr/lib/jvm/java-17-openjdk-x64/bin/serialver
36 changes: 36 additions & 0 deletions openjdk-21/ubuntu/24.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Dockerizing a base images with:
#
# - Ubuntu 24.04 LTS (Noble Numbat)
# - OpenJDK 21
#
# Build: docker build -t exoplatform/jdk:openjdk-21 .
#
# Run: docker run -ti exoplatform/jdk:openjdk-21 -version

FROM exoplatform/ubuntu:24.04
LABEL maintainer="eXo Platform <docker@exoplatform.com>"

ENV JDK_VERSION 21.0.2
ENV JDK_MAJOR_VERSION 21
ENV TEMURIN_SUFFIX 13

ENV JDK_DOWNLOAD http://storage.exoplatform.org/public/java/jdk/openjdk/${JDK_VERSION}/openjdk-${JDK_VERSION}_linux-x64_bin.tar.gz


# Install OpenJDK Java 21 SDK
ENV JVM_DIR /usr/lib/jvm
RUN mkdir -p "${JVM_DIR}"

RUN wget -q --no-cookies --no-check-certificate \
-O "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" "${JDK_DOWNLOAD}" \
&& cd "${JVM_DIR}" \
&& tar --no-same-owner -xzf "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" \
&& rm -f "${DOWNLOAD_DIR}/openjdk-${JDK_VERSION}-linux-x64.tar.gz" \
&& mv "${JVM_DIR}/jdk-${JDK_VERSION}+${TEMURIN_SUFFIX}" "${JVM_DIR}/java-${JDK_VERSION}-openjdk-x64" \
&& ln -s "${JVM_DIR}/java-${JDK_VERSION}-openjdk-x64" "${JVM_DIR}/java-${JDK_MAJOR_VERSION}-openjdk-x64"

ADD java-x64.jinfo ${JVM_DIR}/.java-x64.jinfo
RUN cat "${JVM_DIR}/.java-x64.jinfo" | grep -E '^(jre|jdk|hl)' | awk '{print "/usr/bin/" $2 " " $2 " " $3 " 30 \n"}' | xargs -t -n4 gosu root update-alternatives --install
ENV JAVA_HOME ${JVM_DIR}/java-${JDK_MAJOR_VERSION}-openjdk-x64

ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"]
32 changes: 32 additions & 0 deletions openjdk-21/ubuntu/24.04/java-x64.jinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name=java-21-openjdk-x64
alias=java-21-openjdk-x64
priority=30
section=main

hl java /usr/lib/jvm/java-21-openjdk-x64/bin/java
hl keytool /usr/lib/jvm/java-21-openjdk-x64/bin/keytool
hl rmiregistry /usr/lib/jvm/java-21-openjdk-x64/bin/rmiregistry
hl jexec /usr/lib/jvm/java-21-openjdk-x64/lib/jexec
jdk jar /usr/lib/jvm/java-21-openjdk-x64/bin/jar
jdk jarsigner /usr/lib/jvm/java-21-openjdk-x64/bin/jarsigner
jdk javac /usr/lib/jvm/java-21-openjdk-x64/bin/javac
jdk javadoc /usr/lib/jvm/java-21-openjdk-x64/bin/javadoc
jdk javap /usr/lib/jvm/java-21-openjdk-x64/bin/javap
jdk jcmd /usr/lib/jvm/java-21-openjdk-x64/bin/jcmd
jdk jconsole /usr/lib/jvm/java-21-openjdk-x64/bin/jconsole
jdk jdb /usr/lib/jvm/java-21-openjdk-x64/bin/jdb
jdk jdeprscan /usr/lib/jvm/java-21-openjdk-x64/bin/jdeprscan
jdk jdeps /usr/lib/jvm/java-21-openjdk-x64/bin/jdeps
jdk jhsdb /usr/lib/jvm/java-21-openjdk-x64/bin/jhsdb
jdk jimage /usr/lib/jvm/java-21-openjdk-x64/bin/jimage
jdk jinfo /usr/lib/jvm/java-21-openjdk-x64/bin/jinfo
jdk jlink /usr/lib/jvm/java-21-openjdk-x64/bin/jlink
jdk jmap /usr/lib/jvm/java-21-openjdk-x64/bin/jmap
jdk jmod /usr/lib/jvm/java-21-openjdk-x64/bin/jmod
jdk jps /usr/lib/jvm/java-21-openjdk-x64/bin/jps
jdk jrunscript /usr/lib/jvm/java-21-openjdk-x64/bin/jrunscript
jdk jshell /usr/lib/jvm/java-21-openjdk-x64/bin/jshell
jdk jstack /usr/lib/jvm/java-21-openjdk-x64/bin/jstack
jdk jstat /usr/lib/jvm/java-21-openjdk-x64/bin/jstat
jdk jstatd /usr/lib/jvm/java-21-openjdk-x64/bin/jstatd
jdk serialver /usr/lib/jvm/java-21-openjdk-x64/bin/serialver

0 comments on commit ae98fa0

Please sign in to comment.