Maison > développement back-end > Golang > Pourquoi mon image Docker Scratch renvoie-t-elle une erreur « aucun fichier ou répertoire de ce type » ?

Pourquoi mon image Docker Scratch renvoie-t-elle une erreur « aucun fichier ou répertoire de ce type » ?

Susan Sarandon
Libérer: 2024-12-29 19:14:14
original
482 Les gens l'ont consulté

Why Does My Docker Scratch Image Return a

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/...
Copier après la connexion

Autres considérations

De plus, vérifiez les points suivants :

  • Assurez-vous que votre binaire est nommé correctement.
  • Si votre binaire est lié dynamiquement, vérifiez que les bibliothèques requises existent.
  • Vous pouvez utiliser la commande ldd pour inspecter les liens dynamiques, comme démontré dans l'exemple ci-dessous :
docker build --target=0 -t your_go_image .
docker run -it --rm your_go_image ldd /$PROJ_NAME
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal