What is the authoritative list of Docker Run exit codes?
Apologies if this has been asked, but nowhere in the Docker documentation can I find an authoritative list of exit codes (also called exit status). Surprising! I see suggestions about making it consistent, but no docs on docker.com.
Does anyone know where the exit codes can be found?
Solution 1:
For Docker >= 1.10 see this PR, which follows standard chroot exit codes:
-
125
:docker run
itself fails -
126
: contained command cannot be invoked -
127
: if contained command cannot be found -
128 + n
Fatal error signaln
:-
130
=(128+2)
Container terminated by Control-C -
137
=(128+9)
Container received aSIGKILL
-
143
=(128+15)
Container received aSIGTERM
-
Check the man page of signal
for the full list (on cmd type man 7 signal
or check online e.g. signal).
Check Docker's exit status documentation for more information about the current version.
Solution 2:
Normally it will be the exit status of the process, so it's application dependent i.e:
$ 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
But in certain cases Docker itself can return an exit code:
- 125 if the Docker daemon has an error (e.g. a wrong flag is provided)
- 126 if the container command can't be invoked (e.g. file isn't executable)
- 127 if the container command can't be found (e.g. wrong path to binary)
https://docs.docker.com/engine/reference/run/#exit-status