Maison >développement back-end >Golang >Comment réparer l'erreur 'standard_init_linux.go:190 : exec user process' de Docker qui a provoqué l'erreur 'aucun fichier ou répertoire de ce type'' dans une application Web Go ?

Comment réparer l'erreur 'standard_init_linux.go:190 : exec user process' de Docker qui a provoqué l'erreur 'aucun fichier ou répertoire de ce type'' dans une application Web Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 16:54:14165parcourir

How to Fix Docker's

Résolution de l'erreur Docker : "standard_init_linux.go:190 : le processus utilisateur d'exécution a provoqué "aucun fichier ou répertoire de ce type"" avec une application Web Go

Lors de l'exécution d'une application de base Accédez à l'application Web dans Docker, vous pouvez rencontrer une erreur indiquant : "standard_init_linux.go:190 : le processus utilisateur d'exécution n'a provoqué "aucun fichier ou répertoire de ce type"." Ce problème survient en raison d'un fichier, d'un interpréteur de script ou d'une bibliothèque exécutable manquant.

Dans ce cas, l'importation nette implique la libc en tant que binaire lié dynamique. Pour résoudre le problème, vous devez spécifier des indicateurs supplémentaires lors de la compilation :

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go

Explication des indicateurs :

  • CGO_ENABLED=0 : Désactive Cgo, qui est utilisé pour l'interface avec C code.
  • GOOS=linux : Spécifie le système d'exploitation cible comme Linux.
  • GOARCH=amd64 : Spécifie l'architecture cible comme amd64 (64 -bit).
  • -a : Reconstruit tout Go files.
  • -tags netgo : Balise le programme pour utiliser le package net de la bibliothèque standard Go.
  • -ldflags '-w' : Crée un exécutable lié statiquement (supprime les dépendances sur les bibliothèques partagées).
  • -o mybin : Spécifie le nom du binaire de sortie comme "mybin".

En utilisant ces indicateurs, vous créez un exécutable lié statiquement qui ne dépend pas de bibliothèques externes. Cela devrait résoudre l'erreur « aucun fichier ou répertoire de ce type » lors de l'exécution de l'application dans Docker.

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!

Déclaration:
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