├── Dockerfile ├── README.md └── build-push /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu 2 | MAINTAINER Oleg Ilyenko 3 | 4 | RUN apt-get update && \ 5 | apt-get -y install gcc libc6-dev zlib1g-dev curl bash && \ 6 | rm -rf /var/lib/apt/lists/* 7 | 8 | # GraalVM 9 | 10 | ENV GRAAL_VERSION 1.0.0-rc7 11 | ENV GRAAL_FILENAME graalvm-ce-${GRAAL_VERSION}-linux-amd64.tar.gz 12 | 13 | RUN curl -4 -L https://github.com/oracle/graal/releases/download/vm-${GRAAL_VERSION}/${GRAAL_FILENAME} -o /tmp/${GRAAL_FILENAME} 14 | 15 | RUN tar -zxvf /tmp/${GRAAL_FILENAME} -C /tmp \ 16 | && mv /tmp/graalvm-ce-${GRAAL_VERSION} /usr/lib/graalvm 17 | 18 | RUN rm -rf /tmp/* 19 | 20 | VOLUME /project 21 | WORKDIR /project 22 | 23 | ENTRYPOINT ["/usr/lib/graalvm/bin/native-image"] 24 | 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![](https://images.microbadger.com/badges/image/tenshi/graalvm-native-image.svg)](https://microbadger.com/images/tenshi/graalvm-native-image "Get your own image badge on microbadger.com") 2 | [![](https://images.microbadger.com/badges/version/tenshi/graalvm-native-image.svg)](https://microbadger.com/images/tenshi/graalvm-native-image "Get your own version badge on microbadger.com") 3 | ![Docker Pulls](https://img.shields.io/docker/pulls/tenshi/graalvm-native-image.svg?style=popout) 4 | 5 | ### GraalVM CE native-image as a docker container 6 | 7 | https://hub.docker.com/r/tenshi/graalvm-native-image/ 8 | 9 | Provides a handy way to build native images for arbitrary JVM projects. Here is an example: 10 | 11 | ```bash 12 | docker run -it -v $(pwd):/project --rm tenshi/graalvm-native-image \ 13 | --verbose \ 14 | -cp $CLASSPATH \ 15 | -H:Name=app \ 16 | -H:Class=$MAIN_CLASS \ 17 | -H:+ReportUnsupportedElementsAtRuntime 18 | ``` 19 | -------------------------------------------------------------------------------- /build-push: -------------------------------------------------------------------------------- 1 | name=tenshi/graalvm-native-image 2 | 3 | docker build -t $name:latest . 4 | docker push $name --------------------------------------------------------------------------------