首頁 > 後端開發 > Golang > 為什麼我的 Docker 建置在 M1 Mac 上失敗並顯示'qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2'”?

為什麼我的 Docker 建置在 M1 Mac 上失敗並顯示'qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2'”?

DDD
發布: 2024-12-17 11:15:26
原創
184 人瀏覽過

Why Does My Docker Build Fail with

「qemu-x86_64:無法開啟'/lib64/ld-linux-x86-64.so.2':沒有這樣的檔案或目錄」Docker 中的錯誤在M1 Mac 上建置

使用Docker 在M1 Mac 上建置Docker映像時桌面上,使用者可能會遇到錯誤訊息「qemu-x86_64:無法開啟'/lib64/ld-linux-x86-64.so.2':沒有這樣的檔案或目錄。」出現此問題的原因是Docker 嘗試使用ARM64 映像檔作為基礎映像,但後來需要為x86_64 架構編譯的二進位檔案。

此問題的根本原因是 M1 Mac 的架構與傳統的 x86_64 架構不同。雖然它支援透過 qemu-x86_64 進行模擬,但 ARM64 基礎映像中缺少所需檔案「/lib64/ld-linux-x86-64.so.2」會導致報告錯誤。

解決方案:

與直覺相反,解決方案是在Dockerfile 中的「FROM」行上明確指定 --platform =linux/amd64:

FROM --platform=linux/amd64 ubuntu:focal
登入後複製

這指示Docker 使用x86_64基礎映像,確保必要的檔案在建置過程中出現。透過從 x86_64 映像開始,建置過程可以在不需要模擬的情況下繼續進行,從而解決找不到檔案的錯誤。

或者,使用者可以考慮建立自己的基於 ARM64 的基礎映像,並在建置期間的容器。但是,此選項可能更適合預先建置 ARM64 二進位檔案不可用的特定場景。

以上是為什麼我的 Docker 建置在 M1 Mac 上失敗並顯示'qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2'”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板