Docker:使用buildx支持多种架构,我需要它在父镜像上吗?



我在这里尝试,在Docker论坛上发布了以下内容。

我已经尝试了文档中解释的buildx命令(来自我基于intel的Mac):

# This normally works with build, without buildx
git clone https://github.com/Rothamsted/knetminer
cd knetminer
# buildx is the new thing I'm trying, to have multi-arch support
docker buildx build --platform linux/amd64,linux/arm64 -t knetminer/knetminer -f docker/Dockerfile --push .

然而,当我在ARM64上尝试发布的图像时,我仍然得到通常的:standard_init_linux。Go:211: exec用户进程导致" exec format error "

是否buildx足以获得多架构图像?或者我是否需要更多(例如,实际支持ARM的Linux映像)?

我的映像基于另一个映像,该映像基于Tomcat+ Linux映像。我需要在所有父节点上重新运行buildx吗?

对于那些对细节感兴趣的人来说,这是关于从我们自己的应用程序的代码库构建图像的,文档在这里。

提前感谢。

standard_init_linux.go:211: exec user process caused “exec format error”

当您尝试在您的设备上运行另一个架构的映像时,会发生

您的基本映像也必须支持所选择的体系结构。因此,如果它不支持您的体系结构,您必须自己为您的体系结构构建父类。

在dockerhub中,你可以在标签下看到支持的架构。或者您可以使用docker image inspect命令。

最新更新