arm64如何在ARM平台运行x86_64架构的Docker image
arm64如何在ARM平台运行x86_64架构的Docker image
2023-11-22 0 评论 0 阅读 0 点赞

arm64如何在ARM平台运行x86_64架构的Docker image

daimafengzi
2023-11-22 / 0 评论 / 0 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年11月21日,已超过973天没有更新,若内容或图片失效,请留言反馈。

前言

ARM平台的机器(诸如树莓派、Android手机、Linux手机)运行Docker时,常会碰到目标镜像只支持x86/x86_64的问题。

例子

例如,在ARM64架构的Android手机拉取AMD64架构的Ubuntu镜像,并运行uname -a命令

sudo docker run --rm -t amd64/ubuntu uname -a

试图运行异质架构的镜像,输出画面会显示exec error

image-1700648603787

除了重新build docker镜像外,还可以选择跑一个容器版的qemu-user-static (qus) ppc,牺牲部份性能解决此问题。

拉取aptman/qus,设定模拟x86_64架构,此項目还支持模拟x86、ppc64le、ARM等其他架构。

docker run --rm --privileged aptman/qus -s -- -p x86_64

再运行一次Ubuntu的镜像,运行成功。实测类似项目也可如此操作,例如只支持x86架构的NodeJS应用镜像。

image-1700648672200

0

评论 (0)

取消