Heim > Backend-Entwicklung > Golang > Warum 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?

Warum 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?

Linda Hamilton
Freigeben: 2024-12-11 15:44:09
Original
734 Leute haben es durchsucht

Why Does My Docker Build Fail with

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
Nach dem Login kopieren

Oder

FROM --platform=linux/arm64/v8 ubuntu:focal
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage