Quarkus docker run exec 用户进程导致:exec 格式错误

use*_*587 4 quarkus

我正在遵循 quarkus 入门教程,能够生成可执行文件并运行它,但无法运行 docker 映像。

脚步:

  1. ./mvnw package -Pnative (有效)

  2. docker build -f src/main/docker/Dockerfile.native -t quarkus/getting-started 。(有效

  3. docker run -i --rm -p 8080:8080 quarkus/getting-started,出现此错误:

    standard_init_linux.go:228: exec 用户进程导致: exec 格式错误

我的设置: Quarkus 版本:2.7.2.final macOS Catalina 版本 10.15.7 Java 版本:

openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment GraalVM CE 22.0.0.2 (build 11.0.14+9-jvmci-22.0-b05)
OpenJDK 64-Bit Server VM GraalVM CE 22.0.0.2 (build 11.0.14+9-jvmci-22.0-b05, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

Maven版本:3.8.3

请帮忙

小智 10

问题是您在 Mac 上构建本机可执行文件,然后将其推送到基于 Linux 的容器。你可以使用

./mvnw package -Dnative -Dquarkus.native.container-build=true
Run Code Online (Sandbox Code Playgroud)

指示 Quarks 使用容器运行时(在您的例子中为 Docker)构建本机 Linux 可执行文件。

https://quarkus.io/guides/building-native-image#container-runtime