Skip to content

Commit d65dc5d

Browse files
authored
Merge pull request #93 from brahimhaddou/master
Update GraalVM dockerfiles
2 parents 63cf342 + 99ace4a commit d65dc5d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+130
-1476
lines changed

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Learn more at [Oracle Help Center](https://docs.oracle.com/en/graalvm/jdk/21/doc
1313

1414
GraalVM Community Edition container images are published in this GitHub Container Registry.
1515
There are different GraalVM Community Edition container images provided depending on the architecture and the Java version.
16-
The container images for the latest GraalVM versions (GraalVM for JDK 17, GraalVM for JDK 20, and GraalVM for JDK 21) have a `-community` suffix.
16+
The container images for the latest GraalVM versions (GraalVM for JDK 17, GraalVM for JDK 21, and GraalVM for JDK 22) have a `-community` suffix.
1717
These are: **native-image-community**, **jdk-community**, **truffleruby-community**, **nodejs-community**, and **graalpy-community**.
1818
The container images are multi-arch, for AMD64 and AArch64 processor architectures, and Linux version.
1919

@@ -56,20 +56,20 @@ The following tags are listed from the most-specific tag (at the top) to the lea
5656
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.
5757

5858
```
59-
21.0.0-ol9-20230919
60-
21.0.0-ol9
61-
21.0.0
62-
21-ol9
63-
21
59+
22.0.2-ol9-20240716
60+
22.0.2-ol9
61+
22.0.2
62+
22-ol9
63+
22
6464
```
6565

66-
To pull GraalVM for a specific JDK version, for example, 21, run from a command line:
66+
To pull GraalVM for a specific JDK version, for example, 22, run from a command line:
6767
```
68-
$ docker pull ghcr.io/graalvm/graalvm-community:21
68+
$ docker pull ghcr.io/graalvm/graalvm-community:22
6969
```
7070
To use GraalVM JDK as base image in Dockerfile, use:
7171
```
72-
FROM ghcr.io/graalvm/graalvm-community:21
72+
FROM ghcr.io/graalvm/graalvm-community:22
7373
```
7474

7575
Read more about GraalVM Community Edition container images [here](https://www.graalvm.org/docs/getting-started/container-images/).
@@ -82,10 +82,10 @@ To fix the image and allow no updates, you need to use a full version with a rel
8282
ghcr.io/graalvm/$IMAGE_NAME[:][$java_version][-$os_version][-$date]
8383
```
8484

85-
For example, `ghcr.io/graalvm/jdk-community:21.0.0-ol9-20230919`.
85+
For example, `ghcr.io/graalvm/jdk-community:22.0.2-ol9-20240716`.
8686

8787
You can also set an image to a specific Java version that allows an update for a subversion to be pulled.
88-
For instance, using `ghcr.io/graalvm/jdk-community:latest`, the image will be updated for 23.1.x releases, but not for 23.0.0.
88+
For instance, using `ghcr.io/graalvm/jdk-community:latest`, the image will be updated for 24.0.x releases, but not for 23.0.0.
8989
Using `ghcr.io/graalvm/native-image-community` you will always get the latest update available for Native Image GraalVM Community Edition, the latest OS which is now Oracle Linux 9 and Oracle Linux 9 slim, and the latest Java version.
9090

9191
Note some terms and restrictions that may apply to the open source technology.

graalpy-community/Dockerfile.debian

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LABEL \
1414
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1515
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1616

17-
ARG GRAALVM_VERSION=23.0.0
17+
ARG GRAALVM_VERSION=24.0.2
1818
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1919

2020
WORKDIR /app
@@ -26,7 +26,7 @@ ENV LANG=en_US.UTF-8 \
2626

2727
RUN set -eux \
2828
&& apt-get update -y \
29-
&& apt-get install -y locales ca-certificates curl tar gzip libz-dev libssl-dev gcc make unzip patch \
29+
&& apt-get install -y locales ca-certificates curl tar gzip libz-dev libssl-dev gcc g++ make unzip patch \
3030
&& rm -rf /var/lib/apt/lists/*
3131

3232

@@ -37,7 +37,7 @@ RUN set -eux \
3737
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \
3838
&& locale-gen
3939

40-
RUN graalpy -m venv graalenv && \
41-
echo "source graalenv/bin/activate" >> ~/.bashrc
40+
RUN graalpy -m venv graalenv \
41+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
4242

4343
CMD ["graalpy"]

graalpy-community/Dockerfile.ol7

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,28 @@ LABEL \
1313
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1414
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1515

16-
ARG GRAALVM_VERSION=23.0.0
16+
ARG GRAALVM_VERSION=24.0.2
1717
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1818
ARG TEMP_REGION=""
1919

2020
WORKDIR /app
2121

2222
ENV LANG=en_US.UTF-8 \
23-
PATH=/opt/graalpy-$GRAALVM_VERSION/bin:$PATH
23+
PATH=/opt/graalpy-$GRAALVM_VERSION/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH
2424

2525
RUN set -eux \
2626
&& echo "$TEMP_REGION" > /etc/yum/vars/ociregion \
2727
&& yum update -y oraclelinux-release-el7 \
28-
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en \
28+
&& yum install -y oracle-softwarecollection-release-el7 \
29+
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc devtoolset-10-gcc-c++ make patch glibc-langpack-en \
2930
&& echo "" > /etc/yum/vars/ociregion \
3031
&& rm -rf /var/cache/yum
3132

3233
RUN set -eux \
3334
&& mkdir -p /opt/graalpy-$GRAALVM_VERSION \
3435
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3536

36-
RUN graalpy -m venv graalenv && \
37-
echo "source graalenv/bin/activate" >> ~/.bashrc
37+
RUN graalpy -m venv graalenv \
38+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
3839

3940
ENTRYPOINT ["graalpy"]

graalpy-community/Dockerfile.ol7-slim

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,28 @@ LABEL \
1414
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1515
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1616

17-
ARG GRAALVM_VERSION=23.0.0
17+
ARG GRAALVM_VERSION=24.0.2
1818
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1919
ARG TEMP_REGION=""
2020

2121
WORKDIR /app
2222

2323
ENV LANG=en_US.UTF-8 \
24-
PATH=/opt/graalpy-$GRAALVM_VERSION/bin:$PATH
24+
PATH=/opt/graalpy-$GRAALVM_VERSION/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH
2525

2626
RUN set -eux \
2727
&& echo "$TEMP_REGION" > /etc/yum/vars/ociregion \
2828
&& yum update -y oraclelinux-release-el7 \
29-
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en \
29+
&& yum install -y oracle-softwarecollection-release-el7 \
30+
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc devtoolset-10-gcc-c++ make patch glibc-langpack-en \
3031
&& echo "" > /etc/yum/vars/ociregion \
3132
&& rm -rf /var/cache/yum
3233

3334
RUN set -eux \
3435
&& mkdir -p /opt/graalpy-$GRAALVM_VERSION \
3536
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3637

37-
RUN graalpy -m venv graalenv && \
38-
echo "source graalenv/bin/activate" >> ~/.bashrc
38+
RUN graalpy -m venv graalenv \
39+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
3940

4041
CMD [ "graalpy"]

graalpy-community/Dockerfile.ol8

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LABEL \
1414
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1515
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1616

17-
ARG GRAALVM_VERSION=23.0.0
17+
ARG GRAALVM_VERSION=24.0.2
1818
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1919
ARG TEMP_REGION=""
2020

@@ -26,15 +26,15 @@ ENV LANG=en_US.UTF-8 \
2626
RUN set -eux \
2727
&& echo "$TEMP_REGION" > /etc/dnf/vars/ociregion \
2828
&& yum update -y oraclelinux-release-el8 \
29-
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en \
29+
&& yum install -y curl tar unzip gzip zlib openssl-devel gcc gcc-c++ make patch glibc-langpack-en \
3030
&& echo "" > /etc/dnf/vars/ociregion \
3131
&& rm -rf /var/cache/yum
3232

3333
RUN set -eux \
3434
&& mkdir -p /opt/graalpy-$GRAALVM_VERSION \
3535
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3636

37-
RUN graalpy -m venv graalenv && \
38-
echo "source graalenv/bin/activate" >> ~/.bashrc
37+
RUN graalpy -m venv graalenv \
38+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
3939

4040
CMD [ "graalpy"]

graalpy-community/Dockerfile.ol8-slim

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LABEL \
1414
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1515
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1616

17-
ARG GRAALVM_VERSION=23.0.0
17+
ARG GRAALVM_VERSION=24.0.2
1818
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1919
ARG TEMP_REGION=""
2020

@@ -26,15 +26,15 @@ ENV LANG=en_US.UTF-8 \
2626
RUN set -eux \
2727
&& echo "$TEMP_REGION" > /etc/dnf/vars/ociregion \
2828
&& microdnf update -y oraclelinux-release-el8 \
29-
&& microdnf install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en \
29+
&& microdnf install -y curl tar unzip gzip zlib openssl-devel gcc gcc-c++ make patch glibc-langpack-en \
3030
&& echo "" > /etc/dnf/vars/ociregion \
3131
&& rm -rf /var/cache/dnf
3232

3333
RUN set -eux \
3434
&& mkdir -p /opt/graalpy-$GRAALVM_VERSION \
3535
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3636

37-
RUN graalpy -m venv graalenv && \
38-
echo "source graalenv/bin/activate" >> ~/.bashrc
37+
RUN graalpy -m venv graalenv \
38+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
3939

4040
CMD [ "graalpy"]

graalpy-community/Dockerfile.ol9

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LABEL \
1414
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1515
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1616

17-
ARG GRAALVM_VERSION=23.0.0
17+
ARG GRAALVM_VERSION=24.0.2
1818
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1919
ARG TEMP_REGION=""
2020

@@ -26,7 +26,7 @@ ENV LANG=en_US.UTF-8 \
2626
RUN set -eux \
2727
&& echo "$TEMP_REGION" > /etc/dnf/vars/ociregion \
2828
&& dnf install oraclelinux-release-el9 \
29-
&& dnf install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en libxcrypt-compat \
29+
&& dnf install -y curl tar unzip gzip zlib openssl-devel gcc gcc-c++ make patch glibc-langpack-en libxcrypt-compat \
3030
&& echo "" > /etc/dnf/vars/ociregion \
3131
&& rm -rf /var/cache/dnf
3232

@@ -35,7 +35,7 @@ RUN set -eux \
3535
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3636

3737

38-
RUN graalpy -m venv graalenv && \
39-
echo "source graalenv/bin/activate" >> ~/.bashrc
38+
RUN graalpy -m venv graalenv \
39+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
4040

4141
CMD ["graalpy"]

graalpy-community/Dockerfile.ol9-slim

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ LABEL \
1313
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1414
org.opencontainers.image.description='GraalPy is the GraalVM high-performance implementation of the Python programming language.'
1515

16-
ARG GRAALVM_VERSION=23.0.0
16+
ARG GRAALVM_VERSION=24.0.2
1717
ARG GRAALVM_PKG=https://github.com/oracle/graalpython/releases/download/graal-$GRAALVM_VERSION/graalpy-community-$GRAALVM_VERSION-linux-amd64.tar.gz
1818
ARG TEMP_REGION=""
1919

@@ -25,15 +25,15 @@ ENV LANG=en_US.UTF-8 \
2525
RUN set -eux \
2626
&& echo "$TEMP_REGION" > /etc/dnf/vars/ociregion \
2727
&& microdnf install oraclelinux-release-el9 \
28-
&& microdnf install -y curl tar unzip gzip zlib openssl-devel gcc make patch glibc-langpack-en libxcrypt-compat \
28+
&& microdnf install -y curl tar unzip gzip zlib openssl-devel gcc gcc-c++ make patch glibc-langpack-en libxcrypt-compat \
2929
&& echo "" > /etc/dnf/vars/ociregion \
3030
&& rm -rf /var/cache/dnf
3131

3232
RUN set -eux \
3333
&& mkdir -p /opt/graalpy-$GRAALVM_VERSION \
3434
&& curl --fail --silent --location --retry 3 $GRAALVM_PKG | gunzip | tar x -C /opt/graalpy-$GRAALVM_VERSION --strip-components=1
3535

36-
RUN graalpy -m venv graalenv && \
37-
echo "source graalenv/bin/activate" >> ~/.bashrc
36+
RUN graalpy -m venv graalenv \
37+
&& echo "source graalenv/bin/activate" >> ~/.bashrc
3838

3939
CMD [ "graalpy"]

graalvm-community/Dockerfile.ol7-java20

Lines changed: 0 additions & 55 deletions
This file was deleted.

graalvm-community/Dockerfile.ol7-java17 renamed to graalvm-community/Dockerfile.ol7-java22

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ LABEL \
1515
org.opencontainers.image.title='GraalVM Community Edition' \
1616
org.opencontainers.image.authors='GraalVM Sustaining Team <graalvm-sustaining_ww_grp@oracle.com>' \
1717
org.opencontainers.image.description='GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++.'
18-
18+
19+
ARG TARGETPLATFORM
20+
1921
RUN yum update -y oraclelinux-release-el7 \
2022
&& yum install -y oraclelinux-developer-release-el7 oracle-softwarecollection-release-el7 \
2123
&& yum-config-manager --enable ol7_developer \
@@ -27,21 +29,20 @@ RUN yum update -y oraclelinux-release-el7 \
2729

2830
RUN fc-cache -f -v
2931

30-
ARG GRAALVM_VERSION=23.0.0
31-
ARG JDK_BUILD=17.0.7
32-
ARG JAVA_VERSION=java17
33-
ARG GRAALVM_PKG=https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-$JDK_BUILD/graalvm-community-jdk-$JDK_BUILD_GRAALVM_ARCH_bin.tar.gz
34-
ARG TARGETPLATFORM
32+
ARG JDK_MAJOR_VERSION=22
33+
ARG JDK_VERSION=22.0.2
34+
ARG JDK_BUILD=+9.1
35+
ARG GRAALVM_PKG=https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${JDK_VERSION}/graalvm-community-jdk-${JDK_VERSION}_GRAALVM_ARCH_bin.tar.gz
3536

3637
ENV LANG=en_US.UTF-8 \
37-
JAVA_HOME=/opt/graalvm-community-$JAVA_VERSION
38+
JAVA_HOME=/opt/graalvm-community-java$JDK_MAJOR_VERSION
3839

39-
COPY gu-wrapper.sh /usr/local/bin/gu
4040
RUN set -eux \
4141
&& if [ "$TARGETPLATFORM" == "linux/amd64" ]; then GRAALVM_PKG=${GRAALVM_PKG/GRAALVM_ARCH/linux-x64}; fi \
4242
&& if [ "$TARGETPLATFORM" == "linux/arm64" ]; then GRAALVM_PKG=${GRAALVM_PKG/GRAALVM_ARCH/linux-aarch64}; fi \
4343
&& curl --fail --silent --location --retry 3 ${GRAALVM_PKG} \
44-
| gunzip | tar x -C /opt/ \
44+
| gunzip | tar x -C /opt/ \
45+
&& mv /opt/graalvm-community-openjdk-$JDK_VERSION$JDK_BUILD $JAVA_HOME \
4546
# Set alternative links
4647
&& mkdir -p "/usr/java" \
4748
&& ln -sfT "$JAVA_HOME" /usr/java/default \
@@ -50,7 +51,6 @@ RUN set -eux \
5051
base="$(basename "$bin")"; \
5152
[ ! -e "/usr/bin/$base" ]; \
5253
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
53-
done \
54-
&& chmod +x /usr/local/bin/gu
54+
done
5555

5656
CMD java -version

0 commit comments

Comments
 (0)