docker hub 上可以找到各種非 x86_64 平台的映象,但是在x86上直接執行會報錯:
panic: standard_init_linux.go:175: exec user process caused 「exec format error」 [recovered]在 x86_64 平台上缺少執行 arm32v7 的 python 直譯器所需要的「環境依賴」,值得慶幸的是在 linux 上我們可以用 qemu 來做到跨平台執行,qemu 的 user-mode emulation 對於容器技術來說是最適合的模式。
拷貝檔案
sudo cp qemu-aarch64-static /usr/bin/
chmod +x /usr/bin/qemu-aarch64-static
執行命令
docker run --rm --privileged multiarch/qemu-user-static:register
這個提示可以忽略:setting /usr/bin/qemu-alpha-static as binfmt interpreter for alphash: write error: invalid argument
執行docker
docker run -it -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/ubuntu
ps,可以新增多個-v ARM和x86的區別
cpu的指令集從主流的體系結構上分為精簡指令集 risc 和複雜指令集 cisc 嵌入式系統中的主流處理器 arm處理器,所使用的就是精簡指令集。而桌面領域的處理器大部分使用的是複雜指令集,比如intel的x86系列處理器。我們把arm處理器所使用的指令集稱為arm指令集,把x86處理器所使用的指令...
ARM與x86優劣比較
指令的強弱是cpu的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集 cisc 和精簡指令集 risc 兩部分。相應的,微處理隨著微指令的複雜度也可分為 cisc 及 risc 這兩類。cisc是一種為了便於程式設計和提高儲存器訪問效率的晶元設計體...
X86和ARM的區別
區別 arm是risc架構 50多個指令,半開源 x86是cisc架構 至少981個指令,不開源 cisc架構 cpu的運算指令可以操作在暫存器和記憶體中,複雜性高。舉例 add mem reg 把記憶體資料和暫存器資料相加 risc架構 cpu只允許load和store指令與記憶體互動,而運算指令...