diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c1e854f..58daed1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/README.md b/README.md index 0962127..2733036 100644 --- a/README.md +++ b/README.md @@ -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)* diff --git a/openjdk-17/ubuntu/24.04/Dockerfile b/openjdk-17/ubuntu/24.04/Dockerfile new file mode 100644 index 0000000..f33ce65 --- /dev/null +++ b/openjdk-17/ubuntu/24.04/Dockerfile @@ -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 " + +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"] diff --git a/openjdk-17/ubuntu/24.04/java-x64.jinfo b/openjdk-17/ubuntu/24.04/java-x64.jinfo new file mode 100644 index 0000000..c6bfb47 --- /dev/null +++ b/openjdk-17/ubuntu/24.04/java-x64.jinfo @@ -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 diff --git a/openjdk-21/ubuntu/24.04/Dockerfile b/openjdk-21/ubuntu/24.04/Dockerfile new file mode 100644 index 0000000..70974b7 --- /dev/null +++ b/openjdk-21/ubuntu/24.04/Dockerfile @@ -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 " + +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"] diff --git a/openjdk-21/ubuntu/24.04/java-x64.jinfo b/openjdk-21/ubuntu/24.04/java-x64.jinfo new file mode 100644 index 0000000..90233d7 --- /dev/null +++ b/openjdk-21/ubuntu/24.04/java-x64.jinfo @@ -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