无法使用GraalVM

问题描述

我试图使用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:打开//.//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失败

失败:构建失败,并出现异常。

出了什么问题: 任务':quarkusBuild'的执行失败。 io.quarkus.builder.BuildException:构建失败:由于错误构建失败 [错误]:构建步骤io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build引发异常:java.lang.RuntimeException:无法构建本机映像 在io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:307) 在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在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)

有人可以帮我解决这个问题。谢谢。

解决方法

导航到 Docker 安装并尝试以下命令。

DockerCli.exe -SwitchDeamon

它会将您的容器从 Windows 切换到 Linux,如果没有安装支持切换,它将向您抛出错误和链接。 请通过链接并完成安装。