Maison > Article > développement back-end > Pourquoi est-ce que je reçois une erreur « Le chemin d'importation ne commence pas par le nom d'hôte » lors de la création d'une image Docker ?
Lors de la tentative de construction d'une image Docker à l'aide d'un package local, les utilisateurs peuvent rencontrer l'erreur « importer le chemin ne commence pas par le nom d'hôte." Ce problème survient lors de la création d'un Dockerfile, dans le but d'utiliser un package local comme dépendance.
Pour un Dockerfile simple, les utilisateurs créent généralement un fichier similaire à :
FROM golang:onbuild EXPOSE 8080
Ce format suit le approche décrite dans l'article « Déploiement de serveurs Go avec Docker ». Lors de l'intégration du code de "git-go-websiteskeleton" comme source de build, l'erreur suivante peut apparaître :
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"
La cause sous-jacente est que la construction de l'application se produit dans le conteneur Docker, exigeant que les dépendances soient accessibles tout au long du processus.
Pour rectifier cette erreur, allez au-delà de la syntaxe de base de "golang:onbuild". Composez un Dockerfile personnalisé avec des étapes détaillées pour créer votre application. Ajustez le contenu en fonction des spécificités de votre projet, en utilisant potentiellement une structure telle que :
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
Cela modifie le Dockerfile pour incorporer votre code source et vos dépendances dans le conteneur. Par la suite, il construit votre application, lance son exécution et désigne le port 8080 pour l'accès externe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!