web-dev-qa-db-fra.com

Quelle est la liste faisant autorité des codes de sortie de Docker Run?

Toutes mes excuses si cela a été demandé, mais nulle part dans le documentation Docker puis-je trouver une liste des codes de sortie faisant autorité (également appelée statut de sortie). Surprenant! Je vois des suggestions pour la rendre cohérente, mais pas de documentation sur docker.com.

Est-ce que quelqu'un sait où se trouvent les codes de sortie?

39
jeesty

Pour Docker> = 1.10 voir ce PR , qui suit la norme codes de sortie de chroot :

  • 125: docker run échoue
  • 126: la commande contenue ne peut pas être invoquée
  • 127: si la commande contenue est introuvable
  • 128 + n Signal d’erreur fatale n:
    • 130 = (128+2) Conteneur terminé par Control-C
    • 137 = (128+9) Le conteneur a reçu un SIGKILL
    • 143 = (128+15) Le conteneur a reçu un SIGTERM

Consultez la page de manuel de signal pour obtenir la liste complète (sous cmd tapez man signal ou vérifiez en ligne, par exemple. signal ).

Consultez documentation Docker pour plus d’informations sur la version actuelle.

58
Tombart

Normalement, il s'agira du statut de sortie du processus. Il dépend donc de l'application, à savoir:

$ docker run debian sh -c "exit 5;"
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
7fcc37778df0        debian              "sh -c 'exit 5;'"   4 seconds ago       Exited (5) 3 seconds ago                       reverent_einstein   

Mais dans certains cas, Docker lui-même peut renvoyer un code de sortie:

  • 125 si le démon Docker a une erreur (par exemple, un drapeau incorrect est fourni)
  • 126 si la commande de conteneur ne peut pas être appelée (par exemple, le fichier n'est pas exécutable)
  • 127 si la commande de conteneur est introuvable (par exemple, chemin d'accès incorrect au binaire)

https://docs.docker.com/engine/reference/run/#exit-status

12
Adrian Mouat

Les codes de sortie de Docker sont bien documentés dans le documentation officielle de Docker .