【发布时间】:2020-10-28 06:57:51
【问题描述】:
我尝试使用 quarkus 和 GraalVM 创建自定义运行时 Lambda,在此过程中 (https://quarkus.io/guides/amazon-lambda),我尝试为 Gradle 应用程序构建本机映像。我的 Windows 机器上安装了 GraalVM(20.2.0) 和 native-image(20.2.0) 以及 JAVA 11 和 Docker。 当我运行命令生成本机图像时,我收到了这个错误。 我使用的命令是 gradlew clean build -Dquarkus.package.type=native -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:20.2.0-java11 -Dquarkus.native.container-build =true -Dquarkus.native.enable-http-url-handler=true
连接时出错:发布 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/images/create?fromImage=quay.io%2Fquarkus%2Fubi-quarkus-native-image&tag=20.2.0- java11: open //./pipe/docker_engine: 系统找不到指定的文件。在 Windows 上的默认守护程序配置中,必须运行提升的 docker 客户端才能连接。此错误还可能表明 docker 守护程序未运行。 无法从本机映像二进制文件中获取 GraalVM 版本。 docker:连接期间出错:发布 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/create:打开 //./pipe/docker_engine:系统找不到指定的文件。在 Windows 上的默认守护程序配置中,必须运行提升的 docker 客户端才能连接。此错误还可能表明 docker 守护程序未运行 请参阅“docker run --help”。
任务:quarkusBuild 失败
FAILURE:构建失败并出现异常。
出了什么问题: 任务“:quarkusBuild”执行失败。 io.quarkus.builder.BuildException:构建失败:构建因错误而失败 [错误]:构建步骤 io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build 抛出异常:java.lang.RuntimeException: Failed to build native image 在 io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:307) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) 在 io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:936) 在 io.quarkus.builder.BuildContext.run(BuildContext.java:277) 在 org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) 在 org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046) 在 org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578) 在 org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452) 在 java.base/java.lang.Thread.run(Thread.java:834) 在 org.jboss.threads.JBossThread.run(JBossThread.java:479) 原因:java.lang.RuntimeException:图像生成失败。退出代码:127 在 io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:520) 在 io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:276)
谁能帮我解决这个问题。谢谢。
【问题讨论】:
-
我认为这个错误与 GraalVM 无关。与 Windows 上的 Docker 有关。您可以使用 WLS 尝试相同的构建吗?
-
您是否能够“清理包 -Pnative”,而不执行 docker 映像生成?
标签: quarkus graalvm graalvm-native-image