## QuickStart
To pull the latest JDK container image for Oracle GraalVM for JDK 23:
```bash
docker pull container-registry.oracle.com/graalvm/jdk:23
```
To pull the latest JDK container image for Oracle GraalVM for JDK 21:
```bash
docker pull container-registry.oracle.com/graalvm/jdk:21
```
To pull the latest JDK container image for Oracle GraalVM for JDK 17:
```bash
docker pull container-registry.oracle.com/graalvm/jdk:17
```
## About this Repository
This repository provides container images with Oracle GraalVM JDK without Native Image which can be used to both compile and deploy Java applications. Image tags let you select the Java version and Oracle Linux version.
The container images are for Oracle GraalVM versions available on www.oracle.com/javadownload under the [GraalVM Free Terms and Conditions (GFTC)](https://www.oracle.com/downloads/licenses/graal-free-license.html) running on the latest update release of [Oracle Linux](https://www.oracle.com/linux/). The GFTC license, subject to conditions, permits free use for all users, including commercial and production use.
<span style="font-size:8pt;">Oracle GraalVM uses the Graal just-in-time compiler and includes the Native Image feature as optional early adopter technology.</span>
<span style="font-size:8pt;">Native Image is extensively tested and supported for use in production, but is not a conformant implementation of the Java Platform. Oracle GraalVM without the Native Image feature included is available for customers at My Oracle Support.</span>
## Oracle GraalVM Versions
This repository has container images for the following Oracle GraalVM versions:
* **Oracle GraalVM for JDK 23**: The current Feature Release, and its quarterly security and performance updates. Oracle GraalVM for JDK 23 will receive updates under these terms until March 2025 (when it will be superseded by Oracle GraalVM for JDK 24).
* **Oracle GraalVM for JDK 21**: The current Long Term Support Release, and its quarterly security and performance updates. Oracle GraalVM for JDK 21 will receive updates under these terms until September 2026, a year after the release of the next LTS. After September 2026, Oracle GraalVM for JDK 21 will receive updates under the [Oracle Technology Network License Agreement for GraalVM](https://www.oracle.com/downloads/licenses/graalvm-otn-license.html).
* **Oracle GraalVM for JDK 17**: The previous Long Term Support Release, and its quarterly security and performance updates. Oracle GraalVM for JDK 17 will receive updates under these terms until September 2024, a year after the release of the JDK 21 LTS. After September 2024, Oracle GraalVM for JDK 17 will receive updates under the [Oracle Technology Network License Agreement for GraalVM](https://www.oracle.com/downloads/licenses/graalvm-otn-license.html).
## Processor Architectures
The container images are available for AMD64 and AArch64 processor architectures. Calling docker pull without specifying a processor architecture will download container images for the architecture that matches your docker client. You can also specify the desired processor architecture with the --platform option and either linux/amd64 or linux/aarch64 as follows:
```bash
docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/jdk:17
```
## OS Versions
GraalVM container images are released on the Oracle Linux version recommended by the Oracle Linux team at the time of the initial release of GraalVM. If the recommended Oracle Linux version for container images gets updated, newer GraalVM versions will be released with the new Oracle Linux version.
This repository has container images for the following OS versions:
| Oracle GraalVM Version | Oracle Linux Version (s) |
|---------------------------|---------------------------|
| Oracle GraalVM for JDK 23 | Oracle Linux 7, 8, 9 |
| Oracle GraalVM for JDK 21 | Oracle Linux 7, 8, 9 |
| Oracle GraalVM for JDK 17 | Oracle Linux 7, 8, 9 |
Oracle GraalVM is installed in `/usr/lib64/graalvm/graalvm-java<$FeatureVersion>` where `<$FeatureVersion>` is 17, 21, etc. For instance, Oracle GraalVM for JDK 17 is installed in `/usr/lib64/graalvm/graalvm-java17`. All binaries, including java, javac, and other binaries are available as global commands via the 'alternatives' command.
## Tags
This repository provides container images with the latest update for each Oracle GraalVM release available. It also enables user to download container images with older update releases.
The tags available are created as follows:
* **`latest`** : Will pull the current update of the **newest** Oracle GraalVM release offered on the default Oracle Linux version for that release. **Note the tag `latest` will return different Java versions as new versions become available every six months. To avoid unexpected version changes use of the tag `latest` is not recommended.**
* **`$JavaVersion[-$platform][-$buildnumber]`**: for example, 17.0.12-ol9-20240716, 17.0.12-ol9, 17.0.12, 17-ol9, 17. <br/>
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom). The most-specific tag is unique and always points to the same image, while the less-specific tags point to newer image variants over time.<br/>
```bash
17.0.12-ol9-20240716
17.0.12-ol9
17.0.12
17-ol9
17
```
> Oracle recommends using only the current update release for each Oracle GraalVM (Java version) release. Older releases are provided to help developers debug issues in older systems. **They are not updated with the latest security patches and are not recommended for use in production**.
## Pulling Images
To pull the current container image of a specific Oracle GraalVM (Java version) release, specify the Java version as the tag, e.g.:
```bash
docker pull container-registry.oracle.com/graalvm/jdk:17
```
Alternatively, you can use the container image as the base in your dockerfile as follows:
```dockerfile
FROM container-registry.oracle.com/graalvm/jdk:17
```
See the "Tags" section for more information about available tags that can be used to pull images from this repository.
## How to use these container images
See [Get Started with Oracle GraalVM Container Images](https://docs.oracle.com/en/graalvm/jdk/17/docs/getting-started/container-images/#oracle-graalvm-container-images).
## Customer Support
Both [Oracle Cloud Infrastructure](https://www.oracle.com/cloud/) customers and [Oracle Java SE Subscription](https://www.oracle.com/java/java-se-subscription/) customers receive continuous [Premier Support](https://www.oracle.com/support/premier/) for Oracle GraalVM through [My Oracle Support (MOS)](https://www.oracle.com/support/).