Maison >développement back-end >Golang >Pourquoi mon image Docker Scratch renvoie-t-elle une erreur « aucun fichier ou répertoire de ce type » ?
Dépannage de l'erreur « aucun fichier ou répertoire de ce type » avec l'image à gratter Docker
Les images à gratter Docker fournissent un environnement d'exécution minimal pour l'exécution des conteneurs. Cependant, lorsque vous utilisez un Dockerfile avec une image de travail, vous pouvez rencontrer une erreur indiquant "standard_init_linux.go:207 : le processus utilisateur exec n'a provoqué aucun fichier ou répertoire de ce type".
Cause et solution
Cette erreur peut survenir lorsque vous n'utilisez pas de build CGO. Les builds CGO (CGO signifie « C Go » ; dans le contexte de la programmation Go, cela fait référence à la possibilité d'appeler du code C dans les programmes Go) les builds génèrent des liens dynamiques vers des bibliothèques comme libc ou libmusl. Pour résoudre ce problème, désactivez CGO en ajoutant la ligne suivante à votre Dockerfile :
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ -ldflags="-w -s" -o $PROJ_BIN_PATH ./cmd/...
Autres considérations
De plus, vérifiez les points suivants :
docker build --target=0 -t your_go_image . docker run -it --rm your_go_image ldd /$PROJ_NAME
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!