Search code examples
dockerexitdocker-composeexit-code

Meaning of docker-compose exit code?


For example, if I force a container to stop with kill, then docker-compose ps to check my containers, I get State as Exit 137. And with docker-compose stop I get Exit 1/Exit 0

As there are no documentation for exit code, can anyone please explain to me the meaning of it?


Solution

  • This has not so much to do with docker as with the system it is running on. If you take a look in this table of reserved exit codes for bash, you can see the line:

    128+n   Fatal error signal "n"  kill -9 $PPID of script $? returns 137 (128 + 9)
    

    Which corresponds to the 137 you mention. It is 128 + 9 (SIGKILL), which you can see in the signal(7) man page. Normally a 0 means a clean exit and 1 there was something wrong, these two can suffice for a programmer. They can however range from 1-255, including the reserved ones mentioned above.

    This is just a short answer as I am not an expert on the subject, you can find more on this unix.stackexchange thread on default exit code when process is terminated or perhaps someone here can give a much more elaborate answer than mine.