Installierte Go-Binärdatei nicht im Pfad auf Alpine Linux Docker gefunden
Diese Frage stellt sich, wenn versucht wird, eine benutzerdefinierte Go-Binärdatei auf einem Alpine Docker auszuführen Bild, bei dem die Binärdatei nicht im Pfad gefunden werden kann. Während die standardmäßige Go-Binärdatei von Alpine wie erwartet funktioniert, tritt bei benutzerdefinierten Binärdateien der Fehler „nicht gefunden“ auf.
Das Problem ist auf einen fehlenden Kompatibilitätslink in Alpine Linux zurückzuführen. Die Binärdatei basiert auf einer bestimmten dynamischen Bibliothek (z. B. /lib64/ld-linux-x86-64.so.2), aber Alpine verfügt nicht über einen direkten Symlink zu dieser Bibliothek.
Um dieses Problem zu beheben , führen Sie den folgenden Befehl in der Docker-Datei aus:
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
Dieser Befehl erstellt den erforderlichen Symlink zwischen kompatiblen dynamischen Bibliotheken, sodass die benutzerdefinierte Go-Binärdatei die erforderlichen finden kann Abhängigkeiten erkennen und erfolgreich ausführen.
Das obige ist der detaillierte Inhalt vonWarum kann meine benutzerdefinierte Go-Binärdatei nicht in einem Alpine-Docker-Image ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!