首頁 >後端開發 >Golang >為什麼在 M1 Mac 上建置 Dockerfile 失敗,並顯示'/lib64/ld-linux-x86-64.so.2”的'沒有這樣的檔案或目錄”?

為什麼在 M1 Mac 上建置 Dockerfile 失敗,並顯示'/lib64/ld-linux-x86-64.so.2”的'沒有這樣的檔案或目錄”?

DDD
DDD原創
2024-12-13 10:13:16933瀏覽

Why Does Building a Dockerfile on M1 Mac Fail with

在qemu-x86_64 遇到「/lib64/ld-linux-x86-64.so.2」錯誤「沒有這樣的檔案或目錄」

嘗試使用Rancher Desktop 在M1 MacOS 上建置Dockerfile時,使用者可能會遇到以下情況錯誤:

qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

此錯誤源自於嘗試在 ARM64 (Apple Silicon) 系統上安裝並執行為 x86_64 編譯的程式碼。預設情況下,Docker 可能會為平台選擇 ARM64 映像,該映像缺少必要的程式庫。

M1 MacOS 的解決方案:

與原始發布者的解決方案相反,在M1 MacOS 上解決此問題的關鍵是在Dockerfile 的FROM 行中顯式指定平台為linux/amd64。這可確保 Docker 以包含所需庫的基礎映像啟動:

FROM --platform=linux/amd64 ubuntu:focal

透過此修改,建置過程將使用 x86_64 映像作為起點,從而能夠在其中安裝和執行 x86_64 軟體。容器。

其他注意事項:

如果可能,建議考慮使用 ARM64 基礎映像並在建置期間在容器內編譯軟體。這種方法可以提高在 M1 Mac 上運行容器時的效能,因為它消除了模擬的需要。

以上是為什麼在 M1 Mac 上建置 Dockerfile 失敗,並顯示'/lib64/ld-linux-x86-64.so.2”的'沒有這樣的檔案或目錄”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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