Ralat Ditemui: "Tidak Dapat Membuka '/lib64/ld-linux-x86-64.so.2'
Apabila cuba untuk bina imej Docker pada M1 MacOS menggunakan arahan docker build -t te-grafana-dashboards-toolchain --no-cache ., pengguna mungkin menemui mesej ralat "qemu-x86_64: Tidak dapat membuka '/lib64/ld-linux-x86-64.so.2': Tiada fail atau direktori sedemikian." fail yang ditentukan, yang diperlukan untuk proses binaan Docker, tidak terdapat dalam sistem fail bekas.
Root Punca
Punca asas ralat ini ialah perbezaan seni bina antara cip M1 dan CPU x86-64 tradisional beroperasi secara asli dalam persekitaran Linux, dan Dockerfile yang ditentukan bertujuan untuk dibina pada Linux Platform /AMD64 Walau bagaimanapun, cip M1 menggunakan seni bina set arahan (ISA) yang berbeza yang dikenali sebagai ARM64, yang tidak serasi dengan. kod x86-64.
Penyelesaian
Untuk menyelesaikan isu ini dan berjaya membina imej Docker pada M1 Mac, adalah perlu untuk menentukan platform yang betul semasa mencipta imej asas.
Khususnya, baris berikut harus ditambah pada Fail Docker:
FROM --platform=linux/arm64 ubuntu:focal
Atau
FROM --platform=linux/arm64/v8 ubuntu:focal
Dengan menetapkan platform kepada linux/arm64, proses binaan Docker akan menggunakan pangkalan berasaskan ARM64 imej, yang serasi dengan ISA cip M1. Ini akan memastikan bahawa fail yang diperlukan '/lib64/ld-linux-x86-64.so.2' tersedia dalam sistem fail bekas dan binaan Docker boleh diteruskan tanpa ralat.
Atas ialah kandungan terperinci Mengapa Pembinaan Docker Saya Gagal dengan 'Tidak Dapat Membuka '/lib64/ld-linux-x86-64.so.2'' pada Mac M1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!