123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- FROM ubuntu:18.04
- ENV DEBIAN_FRONTEND noninteractive
- RUN apt-get update && \
- apt-get -y install curl && \
- rm -rf /var/lib/apt/lists/*
- ENV GRAALVM_VERSION=1.0.0-rc6
- # Get GraalVM CE
- RUN echo "Pulling graalvm ${GRAALVM_VERSION} binary from Github." \
- && curl -sSLf https://github.com/oracle/graal/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-${GRAALVM_VERSION}-linux-amd64.tar.gz > /tmp/graalvm-ce-${GRAALVM_VERSION}-linux-amd64.tar.gz \
- && mkdir -p /opt/java \
- && tar -zxf /tmp/graalvm-ce-${GRAALVM_VERSION}-linux-amd64.tar.gz -C /opt/java \
- && rm /tmp/graalvm-ce-${GRAALVM_VERSION}-linux-amd64.tar.gz
- ENV GRAALVM_HOME=/opt/java/graalvm-ce-${GRAALVM_VERSION}
- ENV JAVA_HOME=${GRAALVM_HOME}
- ENV PATH=${PATH}:${JAVA_HOME}/bin
- # Set working dir
- RUN mkdir /app
- WORKDIR /app
- COPY ./ /app
- # Get dependencies
- RUN npm --unsafe-perm install
- # Generate a runtime blog
- RUN npm run package
- CMD ${GRAALVM_HOME}/bin/java \
- -server \
- -XX:+UseNUMA \
- -XX:+UseParallelGC \
- -XX:+AggressiveOpts \
- -Dvertx.disableMetrics=true \
- -Dvertx.disableH2c=true \
- -Dvertx.disableWebsockets=true \
- -Dvertx.flashPolicyHandler=false \
- -Dvertx.threadChecks=false \
- -Dvertx.disableContextTimings=true \
- -Dvertx.disableTCCL=true \
- -jar \
- target/es4x-0.0.1-fat.jar \
- --instances \
- `grep --count ^processor /proc/cpuinfo`
|