Fehler aufgetreten: „Konnte '/lib64/ld-linux-x86-64.so.2‘ nicht öffnen“
Beim Versuch Erstellen Sie ein Docker-Image auf einem M1-MacOS mit dem Befehl docker build -t te-grafana-dashboards-toolchain --no-cache ., Benutzer erhalten möglicherweise die Fehlermeldung „qemu-x86_64: Konnte ‚/lib64/ld-linux-x86-64.so.2‘ nicht öffnen: Keine solche Datei oder kein solches Verzeichnis.“ Die angegebene Datei, die für den Docker-Build-Prozess erforderlich ist, ist nicht im Dateisystem des Containers vorhanden.
Root Ursache
Die grundlegende Ursache dieses Fehlers sind die architektonischen Unterschiede zwischen M1-Chips und herkömmlichen x86-64-CPUs, die nativ in einer Linux-Umgebung ausgeführt werden, und die angegebene Docker-Datei soll auf einem Linux erstellt werden /AMD64-Plattform. Die M1-Chips nutzen jedoch eine andere Befehlssatzarchitektur (ISA), bekannt als ARM64, die mit x86-64 nicht kompatibel ist Code.
Lösung
Um dieses Problem zu beheben und das Docker-Image erfolgreich auf einem M1-Mac zu erstellen, muss beim Erstellen des Basis-Images die richtige Plattform angegeben werden.
Im Einzelnen sollte die folgende Zeile hinzugefügt werden Docker-Datei:
FROM --platform=linux/arm64 ubuntu:focal
Oder
FROM --platform=linux/arm64/v8 ubuntu:focal
Durch die Einstellung der Plattform auf Linux/Arm64 verwendet der Docker-Build-Prozess eine ARM64-basierte Basis Bild, das mit der ISA des M1-Chips kompatibel ist. Dadurch wird sichergestellt, dass die erforderliche Datei „/lib64/ld-linux-x86-64.so.2“ im Dateisystem des Containers verfügbar ist und der Docker-Build fehlerfrei fortgesetzt werden kann.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein Docker-Build mit der Fehlermeldung „/lib64/ld-linux-x86-64.so.2' konnte nicht geöffnet werden' auf einem M1-Mac fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!