Docker-Build-Problem: Go-Paket kann nicht gefunden werden
Beim Versuch, ein Docker-Image mit einer Go-Anwendung zu erstellen, kann die Fehlermeldung „can „Paket wird nicht geladen: Paket myapp: Paket kann nicht gefunden werden“.
Problemhintergrund
Ihre Docker-Datei weist den Build-Prozess an, alle Dateien in das Image-Stammverzeichnis zu kopieren und dann zu erstellen und führen Sie die myapp-Binärdatei unter /go/bin/myapp aus. Dieser Ansatz führt jedoch zu einem Fehler, da die Binärdatei nicht in diesem Verzeichnis gefunden wird.
Lösung
Ändern Sie stattdessen Ihre Docker-Datei wie folgt:
FROM golang:1.9.2 ADD . /go/src/myapp WORKDIR /go/src/myapp RUN go get myapp RUN go install ENTRYPOINT ["/go/bin/myapp"]
Diese aktualisierte Docker-Datei führt die folgenden Schritte aus:
Zusätzliche Fehlerbehebung
Bei Bedarf können Sie die Dateistruktur des Containers nach jedem ADD-Befehl mit docker exec
Um das Bild detaillierter zu untersuchen, geben Sie mit docker run --rm -it
Das obige ist der detaillierte Inhalt vonWarum kann mein Docker-Image mein Go-Paket nicht finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!