Tiada Fail atau Ralat Direktori Sebegitu: Menyelesaikan masalah QEMU-x86_64 pada ARM64 Docker Builds
Apabila membina imej Docker pada M1 MacOS menggunakan QEMU-x86_64 , pengguna mungkin menghadapi ralat "qemu-x86_64: Tidak dapat membuka '/lib64/ld-linux-x86-64.so.2': Tiada fail atau direktori sedemikian." Ralat ini berlaku kerana seni bina ARM64 M1 tidak mempunyai perpustakaan objek kongsi x86_64 yang diperlukan oleh Fail Docker.
Untuk menyelesaikan isu ini, penyelesaiannya terletak pada menukar platform yang dinyatakan dalam arahan FROM Dockerfile. Daripada menggunakan platform ARM64 lalai, nyatakan platform linux/amd64 secara eksplisit seperti berikut:
FROM --platform=linux/amd64 ubuntu:20.04
Perubahan ini memaksa Docker untuk menggunakan imej asas x86_64, yang termasuk perpustakaan objek kongsi yang diperlukan. Akibatnya, proses binaan akan cuba memasang dan melaksanakan kod yang disusun secara eksplisit untuk x86_64.
Sebagai alternatif, jika boleh, pertimbangkan untuk menggunakan imej asas ARM64 dan menyusun perisian untuk x86_64 dalam bekas semasa masa binaan. Walaupun mungkin lebih perlahan disebabkan oleh emulasi, pendekatan ini boleh menghasilkan peningkatan prestasi apabila menjalankan bekas pada Mac berasaskan M1.
Atas ialah kandungan terperinci QEMU-x86_64 pada ARM64 Docker: Bagaimana untuk Membetulkan Ralat 'Tiada fail atau direktori sedemikian'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!