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?
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 signal n
:
130
= (128+2)
Container terminated by Control-C
137
= (128+9)
Container received a SIGKILL
143
= (128+15)
Container received a SIGTERM
Check the man page of signal
for the full list (on cmd type man signal
or check online e.g. signal).
Check Docker documentation for more information about the current version.
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