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

Quarkus docker run exec user process caused: exec format error

我正在学习 quarkus 入门教程,能够生成可执行文件和 运行 但无法获取 docker 图像 运行。

步骤:

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

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

  3. docker 运行 -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)

maven版本:3.8.3

请帮忙

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

./mvnw package -Dnative -Dquarkus.native.container-build=true

指示 Quarks 使用容器运行时构建本机 Linux 可执行文件(Docker 在您的情况下)。

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