Skip to content

Commit c8dcd81

Browse files
committed
[GR-53994] Fold GraalVM CE and Oracle GraalVM install guides into one version; Add more installation options.
PullRequest: graal/18258
2 parents 1ac7fee + 70d5252 commit c8dcd81

21 files changed

+408
-630
lines changed

docs/enterprise-overview/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Oracle GraalVM's key benefits are:
3333

3434
## What to Read Next
3535

36-
Start with installing Oracle GraalVM by following the [installation guide](../getting-started/graalvm-enterprise/get-started-graalvm-enterprise.md).
36+
Start with installing Oracle GraalVM by following the [installation guide](../getting-started/get-started.md).
3737

3838
Whether you are new to Oracle GraalVM and Native Image or have little experience using it, continue to [Getting Started](../reference-manual/native-image/README.md).
3939

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
layout: docs
33
toc_group: container-images
44
link_title: Container Images
5-
permalink: /docs/getting-started/container-images/
5+
permalink: /getting-started/container-images/
6+
redirect_from: /docs/getting-started/container-images/
67
---
78

89
## GraalVM Community Edition Container Images
@@ -13,13 +14,13 @@ To support container-based development, GraalVM Community Edition container imag
1314

1415
There are different GraalVM Community Edition container images provided depending on the architecture and the Java version, and have `-community` as part of their names.
1516
These are: **native-image-community**, **jdk-community**, **truffleruby-community**, **nodejs-community**, and **graalpy-community**.
16-
The container images are multi-arch, for AMD64 and AArch64 processor architectures, with a choice of Oracle Linux versions 7, 8, or 9.
17+
The container images are multi-arch, for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 7, 8, or 9.
1718

18-
GraalVM is installed in _/usr/lib64/graalvm/graalvm-community-java&lt;$FeatureVersion&gt;_ where `<$FeatureVersion>` is `17`, `21`, `22`, etc.
19-
For instance, GraalVM for JDK 22 is installed in _/usr/lib64/graalvm/graalvm-community-java22_.
19+
GraalVM is installed in _/usr/lib64/graalvm/graalvm-community-java&lt;$FeatureVersion&gt;/_ where `<$FeatureVersion>` is `17`, `21`, `23`, and so on.
20+
For instance, GraalVM for JDK 23 is installed in _/usr/lib64/graalvm/graalvm-community-java23/_.
2021
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
2122

22-
> Note: For GraalVM non-RPM based images (**graalvm-community**, **python-community**, **truffleruby-community**), installation location is under _/opt_ (_/opt/graalvm-community-java&lt;$FeatureVersion&gt;_, _/opt/truffleruby-&lt;$GRAALVM_VERSION&gt;_, and _/opt/graalpy-&lt;$GRAALVM_VERSION&gt;_ respectively).
23+
> Note: For GraalVM non-RPM based images (**graalvm-community**, **python-community**, **truffleruby-community**), the installation location is under _/opt/_ (_/opt/graalvm-community-java&lt;$FeatureVersion&gt;/_, _/opt/truffleruby-&lt;$GRAALVM_VERSION&gt;/_, and _/opt/graalpy-&lt;$GRAALVM_VERSION&gt;/_ respectively).
2324
2425
> Note: GraalVM Community Edition container images are based on Oracle Linux slim images, and the default package manager is `microdnf`.
2526
@@ -29,7 +30,6 @@ See a full list of GraalVM Community Edition container images [here](https://git
2930

3031
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
3132
Image tags use the following naming convention:
32-
3333
```bash
3434
$version[-muslib(for native image only)][-$platform][-$buildnumber]
3535
```
@@ -47,44 +47,42 @@ For example:
4747

4848
## Pulling Images
4949

50-
1. To pull the container image for GraalVM JDK for a specific JDK feature version, such as _22_, run:
50+
1. To pull the container image for GraalVM JDK for a specific JDK feature version, such as _23_, run:
5151
```bash
52-
docker pull ghcr.io/graalvm/jdk-community:22
52+
docker pull ghcr.io/graalvm/jdk-community:23
5353
```
5454

5555
Alternatively, to use the container image as the base image in your Dockerfile, use:
5656
```bash
57-
FROM ghcr.io/graalvm/jdk-community:22
57+
FROM ghcr.io/graalvm/jdk-community:23
5858
```
59-
6059
You have pulled a size compact GraalVM Community Edition container image with the GraalVM JDK and the Graal compiler preinstalled.
6160

62-
2. To pull the container image with the `native-image` utility for a specific JDK feature version, such as _22_, run:
61+
2. To pull the container image with the `native-image` utility for a specific JDK feature version, such as _23_, run:
6362
```bash
64-
docker pull ghcr.io/graalvm/native-image-community:22
63+
docker pull ghcr.io/graalvm/native-image-community:23
6564
```
66-
67-
Alternatively, to pull the container image with the `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, use:
65+
66+
Alternatively, to pull the container image with the `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, use:
6867
```bash
69-
docker pull ghcr.io/graalvm/native-image-community:22-muslib
68+
docker pull ghcr.io/graalvm/native-image-community:23-muslib
7069
```
7170

7271
Alternatively, to use the container image as the base image in your Dockerfile, use:
7372
```bash
74-
FROM ghcr.io/graalvm/native-image-community:22-muslib
73+
FROM ghcr.io/graalvm/native-image-community:23-muslib
7574
```
7675

77-
3. To verify, start the container and enter the Bash session:
76+
3. To verify, start the container and enter a Bash session:
7877
```bash
79-
docker run -it --rm --entrypoint /bin/bash ghcr.io/graalvm/native-image-community:22
78+
docker run -it --rm --entrypoint /bin/bash ghcr.io/graalvm/native-image-community:23
8079
```
8180

8281
To check the version of GraalVM and its installed location, run the `env` command from the Bash prompt:
8382
```bash
8483
env
8584
```
86-
87-
The output shows the environment variable `JAVA_HOME` pointing to the installed GraalVM version and location.
85+
The output includes the environment variable `JAVA_HOME` with its value corresponding to the installed GraalVM version and location.
8886

8987
To check the Java version, run:
9088
```bash
@@ -96,16 +94,16 @@ For example:
9694
native-image --version
9795
```
9896

99-
4. Calling `docker pull` without specifying a processor architecture pulls container images for the processor architecture that matches your Docker client. To pull container images for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
97+
4. Calling `docker pull` without specifying a processor architecture pulls container images for the processor architecture that matches your Docker client. To pull a container image for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
10098
```bash
101-
docker pull --platform linux/aarch64 ghcr.io/graalvm/native-image-community:22
99+
docker pull --platform linux/aarch64 ghcr.io/graalvm/native-image-community:23
102100
```
103101

104102
## Oracle GraalVM Container Images
105103

106104
Oracle GraalVM container images are published in the [Oracle Container Registry](https://container-registry.oracle.com/ords/ocr/ba/graalvm) under the [GraalVM Free Terms and Conditions (GFTC) license](https://www.oracle.com/downloads/licenses/graal-free-license.html).
107-
Learn more at [Oracle Help Center](https://docs.oracle.com/en/graalvm/jdk/21/docs/getting-started/container-images/#oracle-graalvm-container-images).
105+
Learn more at the [Oracle Help Center](https://docs.oracle.com/en/graalvm/jdk/21/docs/getting-started/container-images/#oracle-graalvm-container-images).
108106

109-
### Learn More
107+
### Related Documentation
110108

111-
- [GraalVM Native Image, Spring and Containerisation](https://luna.oracle.com/lab/fdfd090d-e52c-4481-a8de-dccecdca7d68): Learn how GraalVM Native Image can generate native executables ideal for containerization.
109+
- [Tiny Java Containers](https://github.com/graalvm/graalvm-demos/tree/master/tiny-java-containers): Learn how GraalVM Native Image can generate native executables ideal for containerization.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
layout: docs
2+
layout: ohc
33
toc_group: container-images
44
link_title: Oracle GraalVM Container Images
55
permalink: /getting-started/container-images/
@@ -15,27 +15,26 @@ Oracle GraalVM container images are published in two OCR repositories: **jdk** a
1515

1616
| Repository | Description |
1717
|------------------|-------------|
18-
| **jdk** | Provides container images with Oracle GraalVM JDK (without the `native-image` utility) which can be used to both compile and deploy Java applications. Use the container image tags to select the appropriate Java version and Oracle Linux version. |
19-
| **native-image** | Provides Oracle GraalVM container images with the `native-image` utility along with all tools required to compile applications into native Linux executables. These images are commonly used in multistage builds to compile applications into executables that are then packaged in a lightweight container image. Use the container image tags to select the Java version and Oracle Linux version as well as variants that include the musl toolchain for the creation of fully statically linked executables. |
18+
| **jdk** | Provides container images with Oracle GraalVM JDK (without the `native-image` utility) which can be used to both compile and deploy a Java application. Use the container image tags to select the appropriate Java version and Oracle Linux version. |
19+
| **native-image** | Provides Oracle GraalVM container images with the `native-image` utility along with all tools required to compile an application into a native Linux executables. These images are commonly used in multistage builds to compile an application into an executable that is then packaged in a lightweight container image. Use the container image tags to select the Java version and Oracle Linux version as well as variants that include the musl toolchain for the creation of a fully statically linked executable. |
2020

21-
Both repositories provide container images for AMD64 and AArch64 processor architectures, with a choice of Oracle Linux versions 7, 8, or 9.
21+
Both repositories provide container images for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 7, 8, or 9.
2222

23-
Oracle GraalVM is installed in _/usr/lib64/graalvm/graalvm-java&lt;$FeatureVersion&gt;_ where `<$FeatureVersion>` is `17`, `21`, `22`, and so on.
24-
For example, Oracle GraalVM for JDK 22 is installed in _/usr/lib64/graalvm/graalvm-java22_.
23+
Oracle GraalVM is installed in _/usr/lib64/graalvm/graalvm-java&lt;$FeatureVersion&gt;/_ where `<$FeatureVersion>` is `17`, `21`, `23`, and so on.
24+
25+
For example, Oracle GraalVM for JDK 23 is installed in _/usr/lib64/graalvm/graalvm-java23/_.
2526
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
2627

2728
## Tags
2829

2930
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
3031
Oracle GraalVM container image tags use the following naming convention:
31-
3232
```bash
3333
$version[-muslib(for native image only)][-$platform][-$buildnumber]
3434
```
3535

3636
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
3737
The most-specific tag is unique and always points to the same container image, while the less-specific tags point to newer container image variants over time.
38-
3938
```
4039
22.0.1-ol9-20240504
4140
22.0.1-ol9
@@ -46,75 +45,60 @@ The most-specific tag is unique and always points to the same container image, w
4645

4746
## Pulling Images
4847

49-
1. To pull the container image for Oracle GraalVM JDK for a specific JDK feature version, such as _22_, run:
50-
48+
1. To pull the container image for Oracle GraalVM JDK for a specific JDK feature version, such as _23_, run:
5149
```bash
52-
docker pull container-registry.oracle.com/graalvm/jdk:22
50+
docker pull container-registry.oracle.com/graalvm/jdk:23
5351
```
5452

5553
Alternatively, to use the container image as the base image in your Dockerfile, use:
56-
5754
```bash
58-
FROM container-registry.oracle.com/graalvm/jdk:22
55+
FROM container-registry.oracle.com/graalvm/jdk:23
5956
```
6057

61-
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, such as _22_, run:
62-
58+
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, such as _23_, run:
6359
```bash
64-
docker pull container-registry.oracle.com/graalvm/native-image:22
60+
docker pull container-registry.oracle.com/graalvm/native-image:23
6561
```
66-
67-
Alternatively, to pull the container image for Oracle GraalVM `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, run:
6862

63+
Alternatively, to pull the container image for Oracle GraalVM `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, run:
6964
```bash
70-
docker pull container-registry.oracle.com/graalvm/native-image:22-muslib
65+
docker pull container-registry.oracle.com/graalvm/native-image:23-muslib
7166
```
7267

7368
Alternatively, to use the container image as the base image in your Dockerfile, use:
74-
7569
```bash
76-
FROM container-registry.oracle.com/graalvm/native-image:22-muslib
70+
FROM container-registry.oracle.com/graalvm/native-image:23-muslib
7771
```
7872

79-
3. To verify, start the container and enter a `bash` session:
80-
73+
3. To verify, start the container and enter a Bash session:
8174
```bash
82-
docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:22
75+
docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:23
8376
```
8477

85-
To check the version of Oracle GraalVM and its installed location, run the `env` command from the `bash` prompt:
86-
78+
To check the version of Oracle GraalVM and its installed location, run the `env` command from the `bash` prompt:
8779
```bash
8880
env
8981
```
90-
91-
The output shows the environment variable `JAVA_HOME` pointing to the installed Oracle GraalVM version and location.
82+
The output includes the environment variable `JAVA_HOME` with its value corresponding to the installed GraalVM version and location.
9283

93-
To check the Java version, run the following command from the `bash` prompt:
94-
84+
To check the version of GraalVM and its installed location, run the `env` command from the Bash prompt:
9585
```bash
9686
java -version
9787
```
98-
9988
The output shows the installed Oracle GraalVM Java runtime environment and version information.
10089

101-
To check the `native-image` version, run the following command from the `bash` prompt:
102-
90+
To check the `native-image` version, run the following command from the Bash prompt:
10391
```bash
10492
native-image --version
10593
```
106-
10794
The output shows the installed Oracle GraalVM `native-image` utility version information.
10895

109-
4. A `docker pull` command that omits a processor architecture pulls container images for the processor architecture that matches your Docker client.
110-
To pull container images for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
111-
96+
4. A `docker pull` command that omits a processor architecture pulls a container image for the processor architecture that matches your Docker client. To pull a container image for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
11297
```bash
113-
docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:22
98+
docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:23
11499
```
115100

116101
### Related Documentation
117102

118-
- [GraalVM Native Image, Spring and Containerisation](https://luna.oracle.com/lab/fdfd090d-e52c-4481-a8de-dccecdca7d68): Learn how GraalVM Native Image can generate native executables ideal for containerization.
119-
- [Announcement Blog: New Oracle GraalVM Container Images](https://blogs.oracle.com/java/post/new-oracle-graalvm-container-images)
120-
103+
- [Tiny Java Containers](https://github.com/graalvm/graalvm-demos/tree/master/tiny-java-containers): Learn how GraalVM Native Image can generate native executables ideal for containerization.
104+
- [Announcement Blog: New Oracle GraalVM Container Images](https://blogs.oracle.com/java/post/new-oracle-graalvm-container-images)

0 commit comments

Comments
 (0)