什么是Docker运行退出代码的权威列表?

道歉,如果这已经问了,但在Docker文档没有find一个权威的退出代码列表(也称为退出状态)。 奇怪! 我看到有关使其一致的build议,但在docker.com上没有文档。

有谁知道退出代码可以find的地方?

对于Docker> = 1.10,请看这个PR ,它遵循标准的chroot退出码 :

  • 125docker run本身失败
  • 包含的命令不能被调用
  • 127 :如果包含的命令无法find
  • 128 + n致命错误信号n
    • 130 = (128+2)由Control-C终止的容器
    • 137 = (128+9)容器收到一个SIGKILL
    • 143 = (128+15)容器收到一个SIGTERM

检查signal手册页上的完整列表(在cmd型man signal或在线检查,例如信号 )。

查看Docker文档以获取有关当前版本的更多信息。

通常情况下,这将是进程的退出状态,所以它依赖于应用程序,即:

 $ 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 

但在某些情况下,Docker本身可以返回一个退出代码:

  • 125如果Docker守护进程有错误(例如提供了错误的标志)
  • 126如果容器命令不能被调用(例如文件不可执行)
  • 127如果容器命令不能被发现(例如错误的二进制path)

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

Interesting Posts