前言
ARM平台的机器(诸如树莓派、Android手机、Linux手机)运行Docker时,常会碰到目标镜像只支持x86/x86_64的问题。
例子
例如,在ARM64架构的Android手机拉取AMD64架构的Ubuntu镜像,并运行uname -a命令
sudo docker run --rm -t amd64/ubuntu uname -a
试图运行异质架构的镜像,输出画面会显示exec error
除了重新build docker镜像外,还可以选择跑一个容器版的qemu-user-static (qus) ppc,牺牲部份性能解决此问题。
拉取aptman/qus,设定模拟x86_64架构,此項目还支持模拟x86、ppc64le、ARM等其他架构。
docker run --rm --privileged aptman/qus -s -- -p x86_64