gpt4 book ai didi

linux - 从 arm32v7 golang 镜像构建 docker 镜像时出现 exec 格式错误

转载 作者:行者123 更新时间:2023-12-01 22:21:17 24 4
gpt4 key购买 nike

我正在尝试从 arm32v7/golang:1.13.4-alpine 构建一个 docker 镜像我是从 mac 成功构建的,但是当我尝试在 linux 机器上构建它时,它会抛出 exec format error .exec format error上有很多问题但找不到任何解决方案。
我的 docker 文件如下所示

FROM arm32v7/golang:1.13.4-alpine as staging

RUN .....
RUN .....
RUN tar -czvf sbuild.tar.gz ./servicebuild
......
......
CMD tar -xzvf sbuild.tar.gz && ./servicebuild

它基本上在 docker 文件中的第一个命令处失败并抛出错误 standard_init_linux.go:211: exec user process caused "exec format error"构建机器的架构 Linux x86_64 x86_64 x86_64 GNU/Linux上面的架构不支持arm32v7吗?有没有其他方法可以做到这一点?

最佳答案

您需要通过 QEMU 和 binfmt_misc 启用不同的多架构容器的执行。
在最近的发行版中,这可以通过运行简单地完成:

apt-get install qemu-user-static
如果这对您不起作用,您可以执行:
docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes --credential yes
请注意,这可能会重新配置您拥有的任何现有 binfmt_misc 设置。见 https://github.com/multiarch/qemu-user-static了解更多详情。
据我所知,此信息在一个 alpine 存储库 README 中可用,但在 wiki 上不可用: https://gitlab.alpinelinux.org/alpine/docker-abuild#configure-multi-arch-support

关于linux - 从 arm32v7 golang 镜像构建 docker 镜像时出现 exec 格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63380739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com