记录一下在M1上跨平台编译的解决方案

自从用了M1以后,工作体验是改善了不少,但是服务器使用的程序还是x86指令集的,搞个x86的机器编译或者用虚拟机都感觉不大方便。

# build
docker build --platform linux/x86_64 .
# run
docker run --platform  -t -i linux/amd64 IMAGE bash
# 最终效果
root@472ffe071aeb:/# uname -a
Linux 472ffe071aeb 5.10.25-linuxkit #1 SMP PREEMPT Tue Mar 23 09:24:45 UTC 2021 x86_64 GNU/Linux

其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。

目前使用正常

点赞