Warum kann mein Docker-Image mein Go-Paket nicht finden?

Patricia Arquette
Freigeben: 2024-11-04 18:20:02
Original
439 Leute haben es durchsucht

Why Can't My Docker Image Find My Go Package?

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"]
Nach dem Login kopieren

Diese aktualisierte Docker-Datei führt die folgenden Schritte aus:

  1. Kopieren Sie die Projektdateien nach /go/src/myapp im Image.
  2. Setzen Sie das Arbeitsverzeichnis auf /go /src/myapp.
  3. Abhängigkeiten mit dem entsprechenden Abhängigkeitsverwaltungstool installieren.
  4. Die myapp-Binärdatei erstellen und installieren.
  5. Einstiegspunkt festlegen.

Zusätzliche Fehlerbehebung

Bei Bedarf können Sie die Dateistruktur des Containers nach jedem ADD-Befehl mit docker exec überprüfen. ls.

Um das Bild detaillierter zu untersuchen, geben Sie mit docker run --rm -it eine Shell in das generierte Bild ein. /bin/sh.

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!