2 years ago
#47896
ytech
Quarkus graalvm native image google cloud run deploy problem
i'm trying to deploy quarkus graalvm native image into google cloud run using by Dokerfile.
But always getting an error without any reasons, i think timeout exception occurs..
My Dockerfile:
## Stage 1 : build with maven builder image with native capabilities
FROM quay.io/quarkus/ubi-quarkus-native-image:21.3.0-java11 AS build
COPY --chown=quarkus:quarkus mvnw /code/mvnw
COPY --chown=quarkus:quarkus .mvn /code/.mvn
COPY --chown=quarkus:quarkus pom.xml /code/
USER quarkus
WORKDIR /code
RUN ./mvnw -B org.apache.maven.plugins:maven-dependency-plugin:3.1.2:go-offline
COPY src /code/src
RUN ./mvnw package -Pnative
## Stage 2 : create the docker final image
FROM quay.io/quarkus/quarkus-micro-image:1.0
WORKDIR /work/
COPY --from=build /code/target/*-runner /work/application
# set up permissions for user `1001`
RUN chmod 775 /work /work/application \
&& chown -R 1001 /work \
&& chmod -R "g+rwX" /work \
&& chown -R 1001:root /work
EXPOSE 8080
USER 1001
CMD ["./application", "-Dquarkus.http.host=0.0.0.0", "-Dquarkus.http.port=8080"]
On time, I got error like:
Caused by: java.lang.RuntimeException: Image generation failed. Exit code was 137 which indicates an out of memory error. Consider increasing the Xmx value for native image generation by setting the "quarkus.native.native-image-xmx" property
And No error and deploy cutting like:
Downloaded from central:
https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2.jar (95 kB at 1.1 MB/s)
Step #0 - "Build": Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2.jar (138 kB at 1.7 MB/s)
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO] -------------------------------------------------------
Step #0 - "Build": [INFO] T E S T S
Step #0 - "Build": [INFO] -------------------------------------------------------
Step #0 - "Build": [INFO] Running org.acme.GreetingResourceTest
Step #0 - "Build": 2022-01-13 16:56:17,402 INFO [io.quarkus] (main) Quarkus 2.6.2.Final on JVM started in 8.961s. Listening on: http://localhost:8081
Step #0 - "Build": 2022-01-13 16:56:17,407 INFO [io.quarkus] (main) Profile test activated.
Step #0 - "Build": 2022-01-13 16:56:17,407 INFO [io.quarkus] (main) Installed features: [cdi, google-cloud-firestore, kotlin, reactive-routes, resteasy, resteasy-jackson, security, smallrye-context-propagation, smallrye-jwt, vertx]
Step #0 - "Build": [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.027 s - in org.acme.GreetingResourceTest
Step #0 - "Build": 2022-01-13 16:56:20,521 INFO [io.quarkus] (main) Quarkus stopped in 0.107s
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO] Results:
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ code-with-quarkus ---
Step #0 - "Build": [INFO] Building jar: /code/target/code-with-quarkus-1.0.0-SNAPSHOT.jar
Step #0 - "Build": [INFO]
Step #0 - "Build": [INFO] --- quarkus-maven-plugin:2.6.2.Final:build (default) @ code-with-quarkus ---
Step #0 - "Build": [INFO] [org.jboss.threads] JBoss Threads version 3.4.2.Final
Step #0 - "Build": [INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /code/target/code-with-quarkus-1.0.0-SNAPSHOT-native-image-source-jar/code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
Step #0 - "Build": [INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /code/target/code-with-quarkus-1.0.0-SNAPSHOT-native-image-source-jar/code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
Step #0 - "Build": [INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM 21.3.0 Java 11 CE (Java Version 11.0.13+7-jvmci-21.3-b05)
Step #0 - "Build": [INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /opt/graalvm/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 -H:-ParseOnce -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -J-Djava.awt.headless=true -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http,https -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace code-with-quarkus-1.0.0-SNAPSHOT-runner -jar code-with-quarkus-1.0.0-SNAPSHOT-runner.jar
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] classlist: 18,659.29 ms, 1.66 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] (cap): 1,132.47 ms, 1.66 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] setup: 6,444.03 ms, 1.66 GB
Step #0 - "Build": The bundle named: messages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
Step #0 - "Build": 16:58:40,548 INFO [org.jbo.threads] JBoss Threads version 3.4.2.Final
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] (clinit): 2,996.64 ms, 1.94 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] (typeflow): 23,549.43 ms, 1.94 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] (objects): 314,587.70 ms, 1.94 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] (features): 22,672.94 ms, 1.94 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] analysis: 370,217.38 ms, 1.94 GB
Step #0 - "Build": [code-with-quarkus-1.0.0-SNAPSHOT-runner:272] universe: 12,968.06 ms, 1.94 GB
Dockerfile occurs an error in my local:
#15 259.1 [ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:2.6.2.Final:build (default) on project code-with-quarkus: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
#15 259.1 [ERROR] [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.RuntimeException: Failed to build native image
#15 259.1 [ERROR] Caused by: java.lang.RuntimeException: Image generation failed. Exit code was 137 which indicates an out of memory error. Consider increasing the Xmx value for native image generation by setting the "quarkus.native.native-image-xmx" property
Now i'm really thinking my Dockerfile is not correct.
Do you have any suggestions ? Thx
docker
dockerfile
quarkus
google-cloud-run
graalvm-native-image
0 Answers
Your Answer