首頁 >後端開發 >Golang >ARM64 Docker 上的 QEMU-x86_64:如何修復「沒有這樣的檔案或目錄」錯誤?

ARM64 Docker 上的 QEMU-x86_64:如何修復「沒有這樣的檔案或目錄」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-19 09:48:10313瀏覽

QEMU-x86_64 on ARM64 Docker: How to Fix

沒有此類檔案或目錄錯誤:在ARM64 Docker 建置上對QEMU-x86_64 進行故障排除

使用QEMU-x86_64 在MM MacOS 上建置Docker映像時,使用者可能會遇到錯誤「qemu-x86_64:無法開啟'/lib64/ld-linux-x86-64.so.2':沒有這樣的檔案或目錄。」出現此錯誤的原因是ARM64 M1 架構沒有Dockerfile 所需的x86_64 共享物件庫。

要解決此問題,解決方案在於更改 Dockerfile 的 FROM 指令中指定的平台。不要使用預設的 ARM64 平台,而是明確指定 linux/amd64 平台,如下所示:

FROM --platform=linux/amd64 ubuntu:20.04

此變更強制 Docker 使用 x86_64 基礎映像,其中包括必要的共用物件庫。因此,建置過程將嘗試安裝並執行為 x86_64 明確編譯的程式碼。

或者,如果可能,請考慮在建置期間使用 ARM64 基礎映像並在容器內編譯 x86_64 軟體。雖然由於模擬可能會較慢,但在基於 M1 的 Mac 上運行容器時,這種方法可以提高效能。

以上是ARM64 Docker 上的 QEMU-x86_64:如何修復「沒有這樣的檔案或目錄」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn