Skip to content

Latest commit

 

History

History

OracleJava

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Oracle Java in Containers

This repository contains sample container configurations to facilitate installation and environment setup for DevOps users. This project provides container images based on Oracle Linux for JDK versions 22, 21, 17, 11 and 8 as well as Server JRE 8.

Oracle Java Server JRE provides the features from Oracle Java JDK commonly required for server-side applications (i.e. Running a Java EE application server). For more information about Server JRE, visit the Understanding the Server JRE blog entry from the Java Product Management team.

Building the Oracle Java base image

For JDK 22, 21, and 17 the required JDK binaries will be downloaded from Oracle as part of the build using curl.

For JDK 11 and JDK 8 you must first download the linux x64 or linux aarch64 compressed archive (tar.gz), for Server JRE 8 you must download the linux x64 compressed archive, from https://oracle.com/javadownload and place it in the same directory as the corresponding Dockerfile.

e.g. for JDK 11 download jdk-11[X]_linux-x64_bin.tar.gz into OracleJava/11, for Server JRE 8 download server-jre-8uXXX-linux-x64.tar.gz into OracleJava/8/serverjre

To build the container image run docker build. Tag it with the correct version number.

e.g. For JDK 22 run

cd ../OracleJava/22
docker build --tag oracle/jdk:22 .

for Server JRE 8 run

cd ../OracleJava/8/serverjre
docker build --tag oracle/serverjre:8 .

The right command with the correct tag is already scripted in build.sh so you can alternatively run:

bash build.sh

Parent image OS version

The Oracle Java images for JDK 22, 21, and 17 use oraclelinux:8 as the parent image. The Oracle Java image for JDK 11, JDK 8, and Server JRE 8 use oraclelinux:7-slim as the parent image.

JDK 11, JDK 8, and Server JRE 8 allow for optionally building on oraclelinux:8 by using Dockerfile.8 rather than Dockerfile.

e.g. to build JDK 11 with Oracle Linux 8 rather than the default Oracle Linux 7 run

cd ../OracleJava/11
docker build --file Dockerfile.8 --tag oracle/jdk:11-oraclelinux8 .

On JDK 11, JDK 8, and Server JRE 8 build.sh can be used to build on Oracle Linux 8, by passing 8. e.g.

cd ../OracleJava/11
bash build.sh 8

The script build.sh will tag the images it creates with the JDK version, and with the operating system and OS version e.g., '17-ol8'.

Licenses

JDK 22, 21, and 17 are downloaded, as part of the build process, from the Oracle Website under the Oracle No-Fee Terms and Conditions (NFTC).

For building JDK 11, JDK 8, and Server JRE 8 you must first download the corresponding Java Runtime from the Oracle Website and accept the license indicated on that page.

All scripts and files hosted in this project and GitHub docker/OracleJava repository, required to build the container images are, unless otherwise noted, released under the UPL 1.0 license.

Customer Support

Oracle offers support for JDK 22, JDK 21, JDK 17, JDK 11, and JDK 8 (JDK and Server JRE) when running on certified operating systems in a container. For additional details on the JDK Certified System Configurations, please refer to the Oracle Java SE Certified System Configuration Pages.