Beim Erstellen von Docker-Images von Grund auf sind statische Binärdateien erforderlich, um Fehler während der Ausführung zu verhindern. Der Befehl RUN go build -o /go/bin/myapp kann jedoch Binärdateien erzeugen, die mit der Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“ fehlschlagen.
Um dies zu beheben, sind die folgenden Flags erforderlich:
RUN CGO_ENABLED=0 go build -o /go/bin/myapp -a -ldflags '-extldflags "-static"' .
Erklärung:
Es ist wichtig, sowohl CGO_ENABLED=0 als auch -ldflags '-extldflags " zu verwenden. -static"', weil:
Durch die Verwendung beider Flags können Sie sicherstellen, dass die resultierende Binärdatei statisch ist und nicht auf externe Bibliotheken angewiesen ist.
Das obige ist der detaillierte Inhalt vonWie erstellt man statische Binärdateien in Go für Docker-Images von Grund auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!