-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/Vandana-Rajamani/docker-images
- Loading branch information
Showing
18 changed files
with
313 additions
and
318 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Copyright (c) 2019, 2023 Oracle and/or its affiliates. | ||
# Copyright (c) 2019, 2024 Oracle and/or its affiliates. | ||
# | ||
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. | ||
# | ||
|
@@ -19,7 +19,7 @@ | |
# $ docker build -t oracle/jdk:11 . | ||
# | ||
# This command is already scripted in build.sh so you can alternatively run | ||
# $ bash build.sh | ||
# $ bash build.sh | ||
# | ||
# The builder image will be used to uncompress the tar.gz file with the Java Runtime. | ||
|
||
|
@@ -28,8 +28,8 @@ FROM oraclelinux:7-slim as builder | |
LABEL maintainer="Aurelio Garcia-Ribeyro <[email protected]>" | ||
|
||
RUN yum install -y gzip tar | ||
|
||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG en_US.UTF-8 | ||
|
||
|
@@ -43,48 +43,48 @@ ENV JAVA_HOME=/usr/java/jdk-11 | |
COPY *.tar.gz /tmp/ | ||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] | ||
RUN set -eux; \ | ||
ARCH="$(uname -m)" && \ | ||
ARCH="$(uname -m)" && \ | ||
if [ "$ARCH" = "x86_64" ]; \ | ||
then \ | ||
mv "$(ls /tmp/jdk-11*_linux-x64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=f50fdec8a48a9b360d30ecc29af36f63f04f0b70ec829d3bf821e4e361682791 ; \ | ||
mv "$(ls /tmp/jdk-11*_linux-x64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=d22d0fcca761861a1eb2f5f6eb116c933354e8b1f76b3cda189c722cc0177c98 ; \ | ||
else \ | ||
mv "$(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=ff0c3387f47ed2eff9fdf936952573113824fc29de463bb13a3a804cc13d2ae8 ; \ | ||
mv "$(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=3fc0d93f6363d32723c293ba5a9016e8ab27410351ed804020cfe71e87d3bc0a ; \ | ||
fi && \ | ||
echo "$JAVA_SHA256 */tmp/jdk.tar.gz" | sha256sum -c -; \ | ||
mkdir -p "$JAVA_HOME"; \ | ||
tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 | ||
## Get a fresh version of SLIM for the final image | ||
echo "$JAVA_SHA256 */tmp/jdk.tar.gz" | sha256sum -c -; \ | ||
mkdir -p "$JAVA_HOME"; \ | ||
tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 | ||
|
||
## Get a fresh version of Oracle Linux 7-slim for the final image | ||
FROM oraclelinux:7-slim | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG en_US.UTF-8 | ||
|
||
ENV JAVA_HOME=/usr/java/jdk-11 | ||
|
||
ENV PATH $JAVA_HOME/bin:$PATH | ||
ENV PATH $JAVA_HOME/bin:$PATH | ||
|
||
# Copy the uncompressed Java Runtime from the builder image | ||
COPY --from=builder $JAVA_HOME $JAVA_HOME | ||
|
||
RUN set -eux; \ | ||
# Update the base image | ||
yum -y update; \ | ||
yum install -y \ | ||
# JDK assumes freetype is available | ||
freetype fontconfig \ | ||
; \ | ||
rm -rf /var/cache/yum; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/default; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/latest; \ | ||
for bin in "$JAVA_HOME/bin/"*; do \ | ||
base="$(basename "$bin")"; \ | ||
[ ! -e "/usr/bin/$base" ]; \ | ||
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \ | ||
done; \ | ||
# -Xshare:dump will create a CDS archive to improve startup in subsequent runs | ||
java -Xshare:dump; | ||
yum -y update; \ | ||
yum install -y \ | ||
# JDK assumes freetype is available | ||
freetype fontconfig \ | ||
; \ | ||
rm -rf /var/cache/yum; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/default; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/latest; \ | ||
for bin in "$JAVA_HOME/bin/"*; do \ | ||
base="$(basename "$bin")"; \ | ||
[ ! -e "/usr/bin/$base" ]; \ | ||
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \ | ||
done; \ | ||
# -Xshare:dump will create a CDS archive to improve startup in subsequent runs | ||
java -Xshare:dump; | ||
|
||
CMD ["jshell"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Copyright (c) 2020, 2022 Oracle and/or its affiliates. | ||
# Copyright (c) 2020, 2024 Oracle and/or its affiliates. | ||
# | ||
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. | ||
# | ||
|
@@ -8,18 +8,17 @@ | |
# | ||
# REQUIRED FILES TO BUILD THIS IMAGE | ||
# ---------------------------------- | ||
# This dockerfile will download a copy of JDK 17 from | ||
# https://download.oracle.com/java/17/latest/jdk-17_linux-<ARCH>_bin.tar.gz | ||
# | ||
# It will use either x64 or aarch64 depending on the target platform | ||
# (1) jdk-17.XX_linux-x64_bin.tar.gz or jdk-17.XX_linux-aarch64_bin.tar.gz | ||
# Download from https://www.oracle.com/java/technologies/downloads | ||
# | ||
# HOW TO BUILD THIS IMAGE | ||
# ----------------------- | ||
# Put all downloaded files in the same directory as this Dockerfile | ||
# Run: | ||
# $ docker build -t oracle/jdk:17 . | ||
# | ||
# This command is already scripted in build.sh so you can alternatively run | ||
# $ bash build.sh | ||
# $ bash build.sh | ||
# | ||
# The builder image will be used to uncompress the tar.gz file with the Java Runtime. | ||
|
||
|
@@ -29,59 +28,60 @@ LABEL maintainer="Aurelio Garcia-Ribeyro <[email protected]>" | |
|
||
# Since the files are compressed as tar.gz first dnf install tar. gzip is already in oraclelinux:8 | ||
RUN dnf install -y tar | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG en_US.UTF-8 | ||
|
||
# Environment variables for the builder image. | ||
# Required to validate that you are using the correct file | ||
|
||
ENV JAVA_URL=https://download.oracle.com/java/17/latest \ | ||
JAVA_HOME=/usr/java/jdk-17 | ||
ENV JAVA_HOME=/usr/java/jdk-17 | ||
|
||
## | ||
COPY *.tar.gz /tmp/ | ||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] | ||
RUN set -eux; \ | ||
ARCH="$(uname -m)" && \ | ||
# Java uses just x64 in the name of the tarball | ||
ARCH="$(uname -m)" && \ | ||
if [ "$ARCH" = "x86_64" ]; \ | ||
then ARCH="x64"; \ | ||
then \ | ||
mv "$(ls /tmp/jdk-17*_linux-x64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=f7a6fdebeb11840e1f5314bc330feb75b67e52491cf39073dbf3e51e3889ff08 ; \ | ||
else \ | ||
mv "$(ls /tmp/jdk-17*_linux-aarch64_bin.tar.gz)" /tmp/jdk.tar.gz ; \ | ||
JAVA_SHA256=277e0010e7b17583e63827f9537a153ea79cb4b6ca28d523cd8a82f14a24a769 ; \ | ||
fi && \ | ||
JAVA_PKG="$JAVA_URL"/jdk-17_linux-"${ARCH}"_bin.tar.gz ; \ | ||
JAVA_SHA256="$(curl "$JAVA_PKG".sha256)" ; \ | ||
curl --output /tmp/jdk.tgz "$JAVA_PKG" && \ | ||
echo "$JAVA_SHA256" */tmp/jdk.tgz | sha256sum -c; \ | ||
mkdir -p "$JAVA_HOME"; \ | ||
tar --extract --file /tmp/jdk.tgz --directory "$JAVA_HOME" --strip-components 1 | ||
|
||
## Get a fresh version of OL8 for the final image | ||
echo "$JAVA_SHA256 */tmp/jdk.tar.gz" | sha256sum -c -; \ | ||
mkdir -p "$JAVA_HOME"; \ | ||
tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 | ||
|
||
## Get a fresh version of Oracle Linux 8 for the final image | ||
FROM oraclelinux:8 | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG en_US.UTF-8 | ||
ENV JAVA_HOME=/usr/java/jdk-17 | ||
ENV PATH $JAVA_HOME/bin:$PATH | ||
ENV JAVA_HOME=/usr/java/jdk-17 | ||
ENV PATH $JAVA_HOME/bin:$PATH | ||
|
||
# If you need the Java Version you can read it from the release file with | ||
# If you need the Java Version you can read it from the release file with | ||
# JAVA_VERSION=$(sed -n '/^JAVA_VERSION="/{s///;s/"//;p;}' "$JAVA_HOME"/release); | ||
|
||
# Copy the uncompressed Java Runtime from the builder image | ||
COPY --from=builder $JAVA_HOME $JAVA_HOME | ||
|
||
RUN set -eux; \ | ||
# Ensure we get the latest OL 8 updates available at build time | ||
dnf -y update; \ | ||
# JDK assumes freetype is available | ||
dnf install -y \ | ||
freetype fontconfig \ | ||
; \ | ||
rm -rf /var/cache/dnf; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/default; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/latest; \ | ||
for bin in "$JAVA_HOME/bin/"*; do \ | ||
base="$(basename "$bin")"; \ | ||
[ ! -e "/usr/bin/$base" ]; \ | ||
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \ | ||
done; | ||
CMD ["jshell"] | ||
dnf -y update; \ | ||
# JDK assumes freetype is available | ||
dnf install -y \ | ||
freetype fontconfig \ | ||
; \ | ||
rm -rf /var/cache/dnf; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/default; \ | ||
ln -sfT "$JAVA_HOME" /usr/java/latest; \ | ||
for bin in "$JAVA_HOME/bin/"*; do \ | ||
base="$(basename "$bin")"; \ | ||
[ ! -e "/usr/bin/$base" ]; \ | ||
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \ | ||
done; | ||
|
||
CMD ["jshell"] |
Oops, something went wrong.