什么是Docker运行退出代码的权威列表?
道歉,如果这已经问了,但在Docker文档没有find一个权威的退出代码列表(也称为退出状态)。 奇怪! 我看到有关使其一致的build议,但在docker.com上没有文档。
有谁知道退出代码可以find的地方?
对于Docker> = 1.10,请看这个PR ,它遵循标准的chroot退出码 :
-
125
:docker 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)