Rumah >pembangunan bahagian belakang >Golang >Mengapa Membina Fail Docker pada M1 Mac Gagal dengan 'Tiada fail atau direktori sedemikian' untuk '/lib64/ld-linux-x86-64.so.2'?

Mengapa Membina Fail Docker pada M1 Mac Gagal dengan 'Tiada fail atau direktori sedemikian' untuk '/lib64/ld-linux-x86-64.so.2'?

DDD
DDDasal
2024-12-13 10:13:16933semak imbas

Why Does Building a Dockerfile on M1 Mac Fail with

Menghadapi Ralat "Tiada fail atau direktori sedemikian" untuk '/lib64/ld-linux-x86-64.so.2' dalam qemu-x86_64

Apabila cuba membina fail Docker pada MacOS M1 menggunakan Desktop Rancher, pengguna mungkin menghadapi perkara berikut ralat:

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

Ralat ini berpunca daripada cubaan memasang dan melaksanakan kod yang disusun untuk x86_64 pada sistem ARM64 (Apple Silicon). Secara lalai, Docker boleh memilih imej ARM64 untuk platform, yang tidak mempunyai perpustakaan yang diperlukan.

Penyelesaian untuk M1 MacOS:

Berbeza dengan penyelesaian poster asal, kunci untuk menyelesaikan isu ini pada M1 MacOS adalah dengan menyatakan secara eksplisit platform sebagai linux/amd64 dalam baris FROM Dockerfile. Ini memastikan bahawa Docker bermula dengan imej asas yang merangkumi perpustakaan yang diperlukan:

FROM --platform=linux/amd64 ubuntu:focal

Dengan pengubahsuaian ini, proses binaan akan menggunakan imej x86_64 sebagai titik permulaan, membolehkan pemasangan dan pelaksanaan perisian x86_64 dalam bekas itu.

Tambahan Pertimbangan:

Jika boleh, disyorkan untuk mempertimbangkan menggunakan imej asas ARM64 dan menyusun perisian dalam bekas semasa masa binaan. Pendekatan ini mungkin meningkatkan prestasi apabila menjalankan bekas pada M1 Mac, kerana ia menghilangkan keperluan untuk emulasi.

Atas ialah kandungan terperinci Mengapa Membina Fail Docker pada M1 Mac Gagal dengan 'Tiada fail atau direktori sedemikian' untuk '/lib64/ld-linux-x86-64.so.2'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn