当容器退出时,docker ps -a
会显示其退出代码(滚动
$ docker run ubuntu bash -c "exit 1"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c2c769c4b9ef ubuntu "bash -c 'exit 1'" 6 seconds ago Exited (1) 3 seconds ago happy_fermat
如何以编程方式获取数字退出代码,而不容易出错grep
和cut
-
答案 0 :(得分:20)
将docker inspect
与模板一起使用:
$ docker inspect c2c769c4b9ef --format='{{.State.ExitCode}}'
1
答案 1 :(得分:3)
您可以使用echo
:
$ docker run debian bash -c "exit 1"
$ echo $?
1
$ docker run debian bash -c "exit 0"
$ echo $?
0
答案 2 :(得分:1)
exit status of docker run
是所包含命令的退出状态,除非Docker本身存在问题(在这种情况下,状态为125)或无法调用所包含命令(在这种情况下,状态为是126)或无法调用(在这种情况下,状态是127)。
因此,当您将docker run
作为子进程执行时,可以像对待其他任何子进程一样检索退出状态:
waitpid()
的C或C ++程序或提供POSIX API访问权限的其他编程语言中。bash
)中,作为特殊$?
变量的内容,紧接着完成{em {1}}。docker run
的{{1}}的{{3}}值。如果您使用的是Docker API,则应提供对退出状态的访问。
Process.exitValue()
的Java中,Process
返回的docker run
对象的ContainerExit.statusCode()
的值。