Lors de la création d'une image Docker avec une application Go, l'erreur « Impossible de trouver le package » peut être frustrant. Examinons le problème et proposons une solution.
L'erreur se produit lorsque le Dockerfile copie les fichiers du projet dans le répertoire racine de l'image sans installer les dépendances ni construire correctement le binaire. Cette incompatibilité amène le système à rechercher un binaire qui n'existe pas à l'emplacement prévu (/go/bin/myapp).
Pour résoudre ce problème, nous vous recommandons d'utiliser une structure Dockerfile comme la suivante :
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 :
Pour déboguer davantage le problème, vous pouvez utiliser docker exec pour exécuter ls ou toute autre commande. Par exemple :
docker exec <image name/hash> ls
De plus, vous pouvez saisir le shell dans l'image générée en utilisant :
docker run --rm -it <image hash/name> /bin/sh
Cela vous permet d'explorer l'image et d'acquérir une compréhension plus approfondie de sa structure.
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!