You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
37
37
38
38
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).
@@ -13,13 +14,13 @@ To support container-based development, GraalVM Community Edition container imag
13
14
14
15
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.
15
16
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.
17
18
18
-
GraalVM is installed in _/usr/lib64/graalvm/graalvm-community-java<$FeatureVersion>_ 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<$FeatureVersion>/_ 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/_.
20
21
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
21
22
22
-
> Note: For GraalVM non-RPM based images (**graalvm-community**, **python-community**, **truffleruby-community**), installation location is under _/opt_ (_/opt/graalvm-community-java<$FeatureVersion>_, _/opt/truffleruby-<$GRAALVM_VERSION>_, and _/opt/graalpy-<$GRAALVM_VERSION>_ 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<$FeatureVersion>/_, _/opt/truffleruby-<$GRAALVM_VERSION>/_, and _/opt/graalpy-<$GRAALVM_VERSION>/_ respectively).
23
24
24
25
> Note: GraalVM Community Edition container images are based on Oracle Linux slim images, and the default package manager is `microdnf`.
25
26
@@ -29,7 +30,6 @@ See a full list of GraalVM Community Edition container images [here](https://git
29
30
30
31
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.
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:
Alternatively, to use the container image as the base image in your Dockerfile, use:
73
72
```bash
74
-
FROM ghcr.io/graalvm/native-image-community:22-muslib
73
+
FROM ghcr.io/graalvm/native-image-community:23-muslib
75
74
```
76
75
77
-
3. To verify, start the container and enter the Bash session:
76
+
3. To verify, start the container and enter a Bash session:
78
77
```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
80
79
```
81
80
82
81
To check the version of GraalVM and its installed location, run the `env`command from the Bash prompt:
83
82
```bash
84
83
env
85
84
```
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.
88
86
89
87
To check the Java version, run:
90
88
```bash
@@ -96,16 +94,16 @@ For example:
96
94
native-image --version
97
95
```
98
96
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 imagesfor 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 imagefor a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
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).
108
106
109
-
### Learn More
107
+
### Related Documentation
110
108
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.
@@ -15,27 +15,26 @@ Oracle GraalVM container images are published in two OCR repositories: **jdk** a
15
15
16
16
| Repository | Description |
17
17
|------------------|-------------|
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. |
20
20
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.
22
22
23
-
Oracle GraalVM is installed in _/usr/lib64/graalvm/graalvm-java<$FeatureVersion>_ 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<$FeatureVersion>/_ 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/_.
25
26
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
26
27
27
28
## Tags
28
29
29
30
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.
30
31
Oracle GraalVM container image tags use the following naming convention:
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
37
37
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
-
39
38
```
40
39
22.0.1-ol9-20240504
41
40
22.0.1-ol9
@@ -46,75 +45,60 @@ The most-specific tag is unique and always points to the same container image, w
46
45
47
46
## Pulling Images
48
47
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:
Alternatively, to pull the container image for Oracle GraalVM `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, run:
68
62
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:
Alternatively, to use the container image as the base image in your Dockerfile, use:
74
-
75
69
```bash
76
-
FROM container-registry.oracle.com/graalvm/native-image:22-muslib
70
+
FROM container-registry.oracle.com/graalvm/native-image:23-muslib
77
71
```
78
72
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:
81
74
```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
83
76
```
84
77
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:
87
79
```bash
88
80
env
89
81
```
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.
92
83
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:
95
85
```bash
96
86
java -version
97
87
```
98
-
99
88
The output shows the installed Oracle GraalVM Java runtime environment and version information.
100
89
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:
103
91
```bash
104
92
native-image --version
105
93
```
106
-
107
94
The output shows the installed Oracle GraalVM `native-image` utility version information.
108
95
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:
- [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