问题
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?
回答1:
For Docker >= 1.10 see this PR, which follows standard chroot exit codes:
125
:docker run
itself fails126
: contained command cannot be invoked127
: if contained command cannot be found128 + n
Fatal error signaln
:130
=(128+2)
Container terminated by Control-C137
=(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 signal
or check online e.g. signal).
Check Docker documentation for more information about the current version.
回答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
回答3:
Docker exit codes are well documented in the official Docker documentation.
来源:https://stackoverflow.com/questions/31297616/what-is-the-authoritative-list-of-docker-run-exit-codes