Maison > Article > développement back-end > Pourquoi la construction de My Go Docker échoue-t-elle avec l'erreur « Impossible de trouver le package » ?
Dépannage de l'erreur « Impossible de trouver le package » dans l'application Docker Build for Go
La création d'une image Docker avec une application Go peut parfois entraîner le Erreur « impossible de trouver le package ». Pour comprendre la cause et trouver une solution, examinons le Dockerfile fourni et la cause première du problème.
Le Dockerfile que vous avez fourni copie tous les fichiers dans le répertoire racine de l'image, y compris votre dossier myapp. Bien que cela puisse sembler correct, cela crée en réalité un problème lors de la tentative de création de l'application Go.
Après avoir copié les fichiers, vous exécutez go build myapp. Cependant, le compilateur Go s'attend à ce que le code de l'application soit présent dans le répertoire /go/src/myapp. Étant donné que vous n'avez pas demandé au Dockerfile d'installer des dépendances ou de déplacer le code vers l'emplacement prévu, il ne peut pas trouver le package myapp et renvoie l'erreur.
Pour résoudre ce problème, modifiez votre Dockerfile comme suit :
FROM golang:1.9.2 ADD . /go/src/myapp WORKDIR /go/src/myapp RUN go get myapp RUN go install ENTRYPOINT ["/go/bin/myapp"]
Ce Dockerfile modifié effectuera les opérations suivantes :
En suivant ces étapes, votre Dockerfile installera et créera correctement l'application Go, éliminant ainsi l'erreur « Impossible de trouver le package ».
Conseils de dépannage supplémentaires
Si vous rencontrez toujours des problèmes, envisagez d'utiliser docker exec pour inspecter le contenu de l'image et diagnostiquer davantage le problème. Vous pouvez également saisir le shell de l'image générée pour mieux comprendre l'environnement.
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!