Heim >Backend-Entwicklung >Golang >Warum erhalte ich beim Erstellen eines Docker-Images die Fehlermeldung „Der Importpfad beginnt nicht mit dem Hostnamen'?

Warum erhalte ich beim Erstellen eines Docker-Images die Fehlermeldung „Der Importpfad beginnt nicht mit dem Hostnamen'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-03 16:57:30555Durchsuche

Why Am I Receiving a

Docker-Build-Fehler: „Importpfad beginnt nicht mit Hostname“

Beim Versuch, ein Docker-Image mithilfe eines lokalen Pakets zu erstellen, stoßen Benutzer möglicherweise auf den Fehler „import Pfad beginnt nicht mit Hostname.“ Dieses Problem tritt auf, wenn eine Docker-Datei erstellt wird, die ein lokales Paket als Abhängigkeit verwenden soll.

Für eine einfache Docker-Datei erstellen Benutzer normalerweise eine Datei ähnlich der folgenden:

FROM golang:onbuild
EXPOSE 8080

Dieses Format folgt dem Ansatz, der im Artikel „Bereitstellen von Go-Servern mit Docker“ beschrieben wird. Bei der Integration von Code aus „git-go-websiteskeleton“ als Build-Quelle kann der folgende Fehler auftreten:

import "git-go-websiteskeleton/app/common": import path does not begin with hostname
package git-go-websiteskeleton/app/common: unrecognized import path "git-go-websiteskeleton/app/common"
import "git-go-websiteskeleton/app/home": import path does not begin with hostname
package git-go-websiteskeleton/app/home: unrecognized import path "git-go-websiteskeleton/app/home"
import "git-go-websiteskeleton/app/user": import path does not begin with hostname
package git-go-websiteskeleton/app/user: unrecognized import path "git-go-websiteskeleton/app/user"

Die zugrunde liegende Ursache besteht darin, dass der Anwendungsbuild innerhalb des Docker-Containers erfolgt und erfordert, dass auf Abhängigkeiten zugegriffen werden kann während des gesamten Prozesses.

Um diesen Fehler zu beheben, gehen Sie über die grundlegende Syntax von „golang:onbuild“ hinaus. Erstellen Sie eine benutzerdefinierte Docker-Datei mit detaillierten Schritten zum Erstellen Ihrer Anwendung. Passen Sie den Inhalt basierend auf den Besonderheiten Ihres Projekts an und verwenden Sie möglicherweise eine Struktur wie:

FROM golang:1.6
ADD . /go/src/yourapplication
RUN go get github.com/jadekler/git-go-websiteskeleton
RUN go install yourapplication
ENTRYPOINT /go/bin/yourapplication
EXPOSE 8080

Dadurch wird die Docker-Datei so geändert, dass Ihr Quellcode und Ihre Abhängigkeit in den Container integriert werden. Anschließend erstellt es Ihre Anwendung, initiiert deren Ausführung und weist Port 8080 für den externen Zugriff zu.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen eines Docker-Images die Fehlermeldung „Der Importpfad beginnt nicht mit dem Hostnamen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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