• Stars
    star
    166
  • Rank 227,748 (Top 5 %)
  • Language
  • License
    Other
  • Created over 4 years ago
  • Updated 24 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GraalVM container images

GraalVM Community Edition Container Images

To support container-based development, GraalVM Community Edition container images are published in the GitHub Container Registry for each release.

There are different GraalVM Community Edition container images provided depending on the architecture and the Java version. The images are multi-arch (aarch64Β orΒ amd64 depending on the host architecture). Some images are GU-based (containing the GraalVM Updater tool), some are RPM-based. All images support the installation of extra features. The following container images are available:

Package Description Type
jdk-community A size compact GraalVM Community Edition container image with the GraalVM JDK pre-installed. RPM-based1
graalvm-community A GraalVM Community Edition container image with the gu utility to install additional features. GU-based
native-image-community A size compact GraalVM Community Edition container image with the Native Image support. RPM-based1
truffleruby-community A size compact GraalVM Community Edition container image with the Ruby runtime. It uses a standalone build of TruffleRuby. Standalone2
nodejs-community A size compact GraalVM Community Edition container image with the Node.js runtime. RPM-based1
graalpy-community A size compact GraalVM Community Edition container image with the GraalPy runtime. Standalone2

Note the following images are deprecated and will only receive a last update for 22.3 before being archived

Package Description Type
jdk A size compact GraalVM Community Edition container image with the GraalVM JDK pre-installed. RPM-based1
graalvm-ce A GraalVM Community Edition container image with the gu utility to install additional features. GU-based
native-image A size compact GraalVM Community Edition container image with the Native Image support. RPM-based1
truffleruby A size compact GraalVM Community Edition container image with the Ruby runtime. It uses a standalone build of TruffleRuby. Standalone2
nodejs A size compact GraalVM Community Edition container image with the Node.js runtime. RPM-based1
graalpy A size compact GraalVM Community Edition container image with the GraalPy runtime. Standalone2

1: RPM-based GraalVM Community Edition container images are based on GraalVM components RPMs that are available for Oracle Linux 7, Oracle Linux 8 and Oracle Linux 9. Similar to any other available packages, you can install these components using yum on Oracle Linux 7 or microdnf on the Oracle Linux 8 and Oracle Linux 9 based images.

2: Standalone-based GraalVM Community Edition container images based on standalone builds of specific Truffle languages. These images are created as a drop-in replacement for other implementations (TruffleRuby instead of MRI Ruby), and do not contain a Java runtime.

The images are tagged with the format ghcr.io/graalvm/IMAGE_NAME:java_version. The version tag defines the level of specificity. It is recommended that the most specific tag be used, for example, 20.0.1 or 20.0.1-ol9-date, where the `` means the image required a patch and this specific build will never change.

You can pull a package by name or by name and version tag. To install GraalVM JDK from the command line, use:

$ docker pull ghcr.io/graalvm/jdk-community:20.0.1

To use GraalVM JDK as base image in Dockerfile, use:

FROM ghcr.io/graalvm/jdk-community:20.0.1

Read more about GraalVM Community Edition container images here.

Versioning and Update Policy

To allow users to control their update policy, we provide an update policy based on a tag version. To fix the image and allow no updates, you need to use a full version with a release date:

For an RPM-based image, use:

ghcr.io/graalvm/$IMAGE_NAME[:][$java_version][-$os_version][-$version][-$date]

For example, ghcr.io/graalvm/jdk-community:20.0.1-ol9-20230613. You can also set an image to a specific java version that allows an update for a subversion to be pulled. For instance, using ghcr.io/graalvm/jdk-community:latest, the image will be updated for 23.0.x releases, but not for 23.0.0.
Using ghcr.io/graalvm/native-image-community you will always get the latest update available for Native Image community, the latest OS which is for now Oracle Linux 9 and Oracle Linux 9 slim, and the latest Java version.

For Standalone-based image, use:

ghcr.io/graalvm/$IMAGE_NAME[:][$graalvm_version][-$os_version][-$date]


For example, `ghcr.io/graalvm/graalvm-community:23.0.0-ol9-20230622`.
You can also set an image to a specific java version number that allows an update for a subversion to be pulled.
For instance, using `ghcr.io/graalvm/nodejs-community:latest`, the image will be updated for 23.0.x releases, but not for 23.0.0.
Using `ghcr.io/graalvm/nodejs-community` you will always get the latest update available for Node.js, the latest OS which is for now Oracle Linux 9 and Oracle Linux 9 slim, and the latest Java version.

Note some terms and restrictions that may apply to the open source technology.
The container image you select and all of the software that it contains is licensed under one or more open source license that are provided in the container image. Your use of the container is subject to the terms of those licenses.

More Repositories

1

graalvm-ce-builds

GraalVM CE binaires built by the GraalVM community
1,552
star
2

sulong

Obsolete repository. Moved to oracle/graal.
Java
628
star
3

simplelanguage

A simple example language built using the Truffle API.
Java
597
star
4

graalvm-demos

This repository contains example applications to illustrate the different capabilities of GraalVM
Java
544
star
5

native-build-tools

Native-image plugins for various build tools
Java
367
star
6

graalvm-ten-things

Top 10 Things To Do With GraalVM
C
232
star
7

homebrew-tap

Ruby
207
star
8

setup-graalvm

GitHub Action for setting up GraalVM distributions.
TypeScript
190
star
9

mx

Command-line tool used for the development of Graal projects.
Python
179
star
10

graal-js-jdk11-maven-demo

An example project how to run Graal/JavaScript on JDK 11 with Graal as optimizing JIT compiler for best performance.
Java
175
star
11

graalvm-ce-dev-builds

GraalVM Dev Build Downloads
95
star
12

graal-jvmci-8

Fork of jdk8u/hotspot with support for JVMCI
C++
71
star
13

examples

Java
57
star
14

labs-openjdk-11

Based on jdk11u-dev with included support for libgraal and GraalVM CE.
Java
45
star
15

vscode-extensions

TypeScript
30
star
16

simpletool

A simple example tool built using the Truffle instrumentation API.
Java
28
star
17

openjdk8-jvmci-builder

Travis based builder for JVMCI JDK8 binaries based on OpenJDK8
26
star
18

graal-js-archetype

Java
24
star
19

workshops

A collection of workshops and live labs about GraalVM
Java
24
star
20

labs-openjdk-17

Based on JDK 17 with included support for libgraal and GraalVM CE.
Java
23
star
21

polyglot-embedding-demo

Demonstration repository showing polyglot embedding with GraalVM for JDK 21 using Maven and Gradle.
C
18
star
22

taming-build-time-initialization

Demos for the build-time initialization blog post
Java
17
star
23

mysql-mle-demos

Demos for the MySQL Multi-Lingual Environment
16
star
24

oracle-graalvm-ea-builds

Oracle GraalVM early access builds
Python
14
star
25

graalvm-jdk-downloader

Download the GraalVM JDK with ease.
Shell
13
star
26

graalvm-website

GraalVM: Run Programs Faster Anywhere πŸš€
HTML
8
star
27

graal-js-jdk11-gradle-demo

An example project how to run Graal/JavaScript on JDK 11 with Graal as optimizing JIT compiler for best performance.
Java
8
star
28

CLAMH

CLAMH (Cross-LAnguage Microbenchmark Harness) is a language-independent benchmark harness design and the implementation of that design for different languages.
C++
7
star
29

mandrel-packaging

Java
6
star
30

graalvm.github.io

6
star
31

labs-openjdk-20

JDK 20 fork for building GraalVM CE.
Java
4
star
32

labs-openjdk-15

Based on jdk15u-dev with included support for libgraal and GraalVM CE.
Java
4
star
33

labs-openjdk

JDK fork for building GraalVM CE.
Java
4
star
34

graal-languages-ea-builds

Python
2
star
35

labs-openjdk-16

Based on JDK 16 with included support for libgraal and GraalVM CE.
Java
2
star
36

labs-openjdk-22

JDK 22 fork for building GraalVM CE.
Java
2
star
37

labs-openjdk-19

Based on JDK 19 with included support for libgraal and GraalVM CE.
Java
1
star