Installieren von Go in Alpine-Linux-Docker-Images: Ein Pfadproblem
Beim Versuch, Go in einem Alpine-Docker-Image zu installieren, trat ein Fehler auf ( „sh: go: nicht gefunden“) erscheint, wenn der Befehl „go version“ ausgeführt wird. Dieses Problem entsteht aufgrund einer falschen Einrichtung der PATH-Variablen.
Um dieses Problem zu beheben, besteht der richtige Ansatz darin, die PATH-Variable so festzulegen, dass sie das Verzeichnis enthält, in dem sich die Go-Binärdatei befindet, wie unten gezeigt:
export PATH=/usr/local/go/bin:$PATH
In den bereitgestellten Schritten zum Reproduzieren des Fehlers ist die PATH-Variable so eingestellt, dass sie das falsche Verzeichnis enthält (/usr/local/go/, das die Go-Binärdatei nicht enthält) und sollte korrigiert werden Folgendes:
export PATH=/usr/local/go/bin:$PATH
Alternativ können mehrstufige Builds verwendet werden, um dieses Problem zu beheben. Hier ist ein Beispiel für einen mehrstufigen Build:
FROM XXX # Your base image FROM golang:1.13-alpine COPY --from=golang:1.13-alpine /usr/local/go/ /usr/local/go/ ENV PATH="/usr/local/go/bin:${PATH}"
Dieser mehrstufige Build kopiert die Go-Installation aus dem golang:1.13-alpine-Image in das endgültige Image und stellt sicher, dass die PATH-Variable korrekt eingestellt ist.
Das obige ist der detaillierte Inhalt vonWarum schlägt die „Go-Version' in einem Alpine Docker-Image fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!