Heim > Artikel > Backend-Entwicklung > Warum schlägt der My Go Docker Build mit der Fehlermeldung „Paket kann nicht gefunden' fehl?
Fehlerbehebung „Paket kann nicht gefunden werden“-Fehler in der Docker Build for Go-App
Das Erstellen eines Docker-Images mit einer Go-Anwendung kann manchmal dazu führen, dass Fehler „Paket kann nicht gefunden werden“. Um die Ursache zu verstehen und eine Lösung zu finden, untersuchen wir die bereitgestellte Docker-Datei und die Grundursache des Problems.
Die von Ihnen bereitgestellte Docker-Datei kopiert alle Dateien in das Stammverzeichnis des Images, einschließlich Ihres myapp-Ordners. Obwohl dies richtig erscheinen mag, führt es tatsächlich zu einem Problem beim Versuch, die Go-Anwendung zu erstellen.
Nach dem Kopieren der Dateien führen Sie „go build myapp“ aus. Der Go-Compiler erwartet jedoch, dass der Anwendungscode im Verzeichnis /go/src/myapp vorhanden ist. Da Sie die Docker-Datei nicht angewiesen haben, Abhängigkeiten zu installieren oder den Code an den erwarteten Speicherort zu verschieben, kann sie das myapp-Paket nicht finden und gibt den Fehler aus.
Um dieses Problem zu beheben, ändern Sie 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 geänderte Docker-Datei führt die folgenden Vorgänge aus:
Durch Befolgen dieser Schritte wird Ihre Docker-Datei erstellt installiert und erstellt die Go-Anwendung korrekt und beseitigt so den Fehler „Paket kann nicht gefunden werden“.
Zusätzliche Tipps zur Fehlerbehebung
Wenn weiterhin Probleme auftreten, sollten Sie die Verwendung von Docker Exec in Betracht ziehen Überprüfen Sie den Bildinhalt und diagnostizieren Sie das Problem weiter. Sie können auch die Hülle des generierten Bildes betreten, um ein besseres Verständnis der Umgebung zu erhalten.
Das obige ist der detaillierte Inhalt vonWarum schlägt der My Go Docker Build mit der Fehlermeldung „Paket kann nicht gefunden' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!