Heim > Backend-Entwicklung > Golang > Warum schlägt meine Dockerized Go Web App mit „Keine solche Datei oder kein solches Verzeichnis' fehl?

Warum schlägt meine Dockerized Go Web App mit „Keine solche Datei oder kein solches Verzeichnis' fehl?

Patricia Arquette
Freigeben: 2024-12-16 11:10:13
Original
790 Leute haben es durchsucht

Why Does My Dockerized Go Web App Fail with

Docker Image Exec-Fehler: „Keine solche Datei oder kein solches Verzeichnis“ beim Ausführen der Go Web App

Bei einem kürzlich erstellten Docker-Image ist ein Fehler aufgetreten Beim Ausführen wird die Meldung „standard_init_linux.go:190: exec-Benutzerprozess hat „keine solche Datei oder kein solches Verzeichnis“ verursacht“ angezeigt. Dieser Fehler verhindert, dass die Go-Webanwendung ordnungsgemäß im Docker-Container ausgeführt wird.

Die Hauptursache für diesen Fehler liegt in einer fehlenden Datei, einem Skript ohne Interpreter oder einer ausführbaren Datei, der eine erforderliche Bibliothek fehlt. In diesem Fall führt der Import des „net“-Pakets in den Go-Code zur automatischen Einbindung von libc als dynamisch verknüpfte Binärdatei. Um dies zu überprüfen, verwenden Sie den Befehl „ldd“ für die Binärdatei.

Um dieses Problem zu beheben, müssen zusätzliche Build-Flags bereitgestellt werden:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
Nach dem Login kopieren

Diese Flags deaktivieren CGO (die Build-Funktion des Go-Compilers). -in-Unterstützung für C), geben Sie das Zielbetriebssystem und die Zielarchitektur an und erstellen Sie eine statisch verknüpfte Binärdatei. Dadurch wird sichergestellt, dass alle erforderlichen Bibliotheken in die ausführbare Datei eingebettet sind, sodass keine externen Abhängigkeiten erforderlich sind.

Durch die Einbindung dieser Flags während des Go-Build-Prozesses enthält das resultierende Docker-Image die erforderlichen Abhängigkeiten und die Fehlermeldung wird angezeigt behoben, sodass die Go-Webanwendung erfolgreich im Docker-Container ausgeführt werden kann.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine Dockerized Go Web App mit „Keine solche Datei oder kein solches Verzeichnis' 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