2015-07-08 15 views
23

Ci scusiamo se questo è stato richiesto, ma da nessuna parte nello Docker documentation è possibile trovare un elenco autorevole di codici di uscita (chiamato anche stato di uscita). Sorprendente! Vedo suggerimenti su come renderlo coerente, ma non ci sono documenti su docker.com.Qual è l'elenco autorevole dei codici di uscita di Docker Run?

Qualcuno sa dove è possibile trovare i codici di uscita?

+1

nel codice sorgente? – user2915097

+1

Mi dispiace molto se non sono stato chiaro. Che dire degli errori? Ad esempio se I 'docker esegue -v non_stistente_directory' o forse' finestra mobile run improper_container_path' ci sono molte cose che possono andare storte e il codice di uscita dovrebbe riflettere questo. – jeesty

risposta

6

Normalmente sarà lo stato di uscita del processo, quindi è applicazione dipendente cioè:

$ 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 

Ma in certi casi si DOCKER può restituire un codice di uscita:

  • 125 se il Docker daemon ha un errore (ad es. viene fornito un flag errato)
  • 126 se il comando contenitore non può essere invocato (ad esempio il file non è eseguibile)
  • 127 se il il comando contenitore non può essere trovato (ad es. percorso errato binario)

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

+0

Ho aggiunto un commento alla domanda originale. in breve: che dire dei codici di uscita quando si tenta di eseguire una "finestra mobile" che non riesce? – jeesty

+0

Non sono documentati al meglio delle mie conoscenze. Non penso che molte applicazioni lo documentino, ma è più comune per i software di sistema. –

+0

I codici di uscita del daemon docker sono documentati in https://docs.docker.com/engine/reference/run/#exit-status –

32

Per Docker> = 1,10 vedi this PR, che segue norma chroot exit codes:

  • 125: docker run stessa fallisce
  • 126: conteneva comando non può essere invocata
  • 127: se contenuto co mmand non può essere trovato
  • 128 + n segnale di errore irreversibile n:
    • 130 = (128+2) contenitore chiuso dal Controllo-C
    • 137 = (128+9) contenitore ricevuto un SIGKILL
    • 143 = (128+15) contenitore ricevuto un SIGTERM

Controllare la pagina man di signal per l'elenco completo (su cmd tipo man signal o controllare online ad es. signal).

Controllare Docker documentation per ulteriori informazioni sulla versione corrente.

+0

E con questo PR anche i documenti sono stati aggiornati: https://docs.docker.com/engine/reference/run/#/exit-status – Kaos

Problemi correlati