Maison > développement back-end > Golang > Comment résoudre les erreurs « aucun fichier ou répertoire de ce type » avec Docker Scratch Images et Go ?

Comment résoudre les erreurs « aucun fichier ou répertoire de ce type » avec Docker Scratch Images et Go ?

DDD
Libérer: 2024-12-15 11:09:11
original
152 Les gens l'ont consulté

How to Resolve

"aucun fichier ou répertoire de ce type" avec Docker Scratch Image : résolu

Lors de l'utilisation de l'image scratch de Docker, vous pouvez rencontrer l'erreur "non tel fichier ou répertoire" lors de l'exécution d'un binaire. Cette erreur provient souvent du fait que le binaire est lié dynamiquement à une bibliothèque qui n'existe pas dans l'image.

Pour remédier à ce problème, désactivez CGO (C Go) :

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
    -ldflags="-w -s" -o $PROJ_BIN_PATH ./cmd/...
Copier après la connexion

Liens CGO aux bibliothèques système, ce qui peut entraîner des problèmes dans une image de travail. En désactivant CGO, vous vous assurez que le binaire est lié statiquement et ne dépend pas de bibliothèques externes.

De plus, vous pouvez vérifier les liens dynamiques dans votre binaire en utilisant ldd :

docker build --target=0 -t your_go_image .
docker run -it --rm your_go_image ldd /$PROJ_NAME
Copier après la connexion

Ceci La commande listera toutes les bibliothèques auxquelles le binaire est lié. Si ldd renvoie "pas un exécutable dynamique", le binaire est lié statiquement.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal