Heim >Backend-Entwicklung >Golang >Warum schlägt das Erstellen einer Docker-Datei auf einem M1-Mac mit der Meldung „Keine solche Datei oder kein solches Verzeichnis' für „/lib64/ld-linux-x86-64.so.2' fehl?
Fehler „Keine solche Datei oder kein solches Verzeichnis“ für „/lib64/ld-linux-x86-64.so.2“ in qemu-x86_64
Beim Versuch, eine Docker-Datei auf einem M1-MacOS mit Rancher Desktop zu erstellen, kann es sein, dass Benutzer auf Folgendes stoßen Fehler:
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
Dieser Fehler entsteht durch den Versuch, für x86_64 kompilierten Code auf einem ARM64-System (Apple Silicon) zu installieren und auszuführen. Standardmäßig wählt Docker möglicherweise ein ARM64-Image für die Plattform aus, dem die erforderlichen Bibliotheken fehlen.
Lösung für M1 MacOS:
Im Gegensatz zur Lösung des Originalposters Der Schlüssel zur Lösung dieses Problems unter M1 MacOS besteht darin, die Plattform explizit als Linux/AMD64 in der FROM-Zeile der Docker-Datei anzugeben. Dadurch wird sichergestellt, dass Docker mit einem Basis-Image startet, das die erforderlichen Bibliotheken enthält:
FROM --platform=linux/amd64 ubuntu:focal
Mit dieser Änderung verwendet der Build-Prozess ein x86_64-Image als Ausgangspunkt und ermöglicht so die Installation und Ausführung der x86_64-Software darin Der Behälter.
Zusätzliche Überlegungen:
Wenn möglich, wird empfohlen, dies zu berücksichtigen Verwendung eines ARM64-Basisimages und Kompilieren von Software innerhalb des Containers während der Erstellungszeit. Dieser Ansatz kann die Leistung verbessern, wenn der Container auf einem M1-Mac ausgeführt wird, da keine Emulation erforderlich ist.
Das obige ist der detaillierte Inhalt vonWarum schlägt das Erstellen einer Docker-Datei auf einem M1-Mac mit der Meldung „Keine solche Datei oder kein solches Verzeichnis' für „/lib64/ld-linux-x86-64.so.2' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!