You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apple M1(Arm)上用Maven构建Quarkus原生Linux/amd64镜像

在Apple M1(Arm)上构建Linux/amd64架构的Quarkus原生镜像问题(后续)

这是Stack Overflow问题《Building quarkus native Linux/amd64 (x86_64) image from Apple M1 (Arm)》的后续,我仍受此问题困扰。我遇到了完全相同的问题(不过使用的是Maven),尝试在Apple M1上构建Linux/amd64架构的Quarkus原生镜像,有人成功实现吗?

我尝试了多种配置,但生成的runner或Docker镜像始终是arm64(aarch64)架构,或者构建过程卡住。以下是我基于Quarkus官方文档的Maven构建命令之一:

mvn clean package -Pnative -e \
-Dmaven.test.skip=true \
-Dquarkus.native.container-build=true \
-Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:22.3-java17 \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.push=true

将-Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:22.3-java17替换为-Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:22.3.1.0-Final-java17-amd64会导致构建卡住。

我的Dockerfile.native内容如下(不确定是否相关):

FROM registry.access.redhat.com/ubi8/ubi-minimal:8.7
WORKDIR /work/
COPY target/*-runner /work/application
RUN chmod 775 /work
EXPOSE 8080
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]

生成的Quarkus runner可执行文件信息如下:

ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0

在Docker终端执行uname -m输出为aarch64。我遗漏了什么?恳请提供帮助。


内容的提问来源于stack exchange,提问作者eistropfen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:37:21