GraalVM本机映像构建- ARM64



我正在尝试在我的Mac M1中构建Docker映像....

当我尝试运行我的图像时,我得到"执行格式错误"据我所知,这是一个跨平台的本机映像问题,但据我所知,我用arm64 GraalVM构建本机映像。

[1/7] Initializing...                                                                                    
(6,5s @ 0,23GB)
Version info: 'GraalVM 22.3.0 Java 17 CE'
Java version info: '17.0.5+8-jvmci-22.3-b08'
C compiler: cc (apple, arm64, 14.0.0)
Garbage collector: Serial GC
1 user-specific feature(s)

我使用了alpine:arm64的基本图像

https://hub.docker.com/layers/library/alpine/3.17.0/images/sha256-af06af3514c44a964d3b905b498cf6493db8f1cde7c10e078213a89c87308ba0?context=explore

uname -a

确认是基于arm64的linux。

Linux 5e6ec3a5a46e 5.15.64-0-virt #1-Alpine SMP Mon, 05 Sep 2022 08:02:49 +0000 aarch64 Linux

docker image inspect

报告
"Architecture": "arm64",
"Os": "linux",
"Size": 80206330,
"VirtualSize": 80206330,

它是arm64/linux是。

这是怎么回事?

@peterz的回答绝对正确,我认为MacOS是基于Unix/Linux的假设是错误的。

当我为alpine生成跨平台原生图像时,这个错误消失了。

最新更新