Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取已退出docker容器的数字退出状态?_Docker_Exit Code - Fatal编程技术网

如何获取已退出docker容器的数字退出状态?

如何获取已退出docker容器的数字退出状态?,docker,exit-code,Docker,Exit Code,当容器退出时,docker ps-a显示其退出代码(滚动 如何以编程方式获取数字退出代码,而不易出错grep-ing和cut-ing?与模板一起使用: $ docker inspect c2c769c4b9ef --format='{{.State.ExitCode}}' 1 您可以使用echo: $ docker run debian bash -c "exit 1" $ echo $? 1 $ docker run debian bash -c "exit 0" $ echo $? 0

当容器退出时,
docker ps-a
显示其退出代码(滚动

如何以编程方式获取数字退出代码,而不易出错
grep
-ing和
cut
-ing?

与模板一起使用:

$ docker inspect c2c769c4b9ef --format='{{.State.ExitCode}}'
1

您可以使用
echo

$ docker run debian bash -c "exit 1"
$ echo $?
1

$ docker run debian bash -c "exit 0"
$ echo $?
0
是包含的命令的退出状态,除非Docker本身存在问题(在这种情况下,状态为125),或者无法调用包含的命令(在这种情况下,状态为126)或无法调用包含的命令(在这种情况下,状态为127)

因此,当您作为子进程执行
docker run
时,您可以像检索任何其他子进程一样检索退出状态:

  • 在C或C++程序中,或者使用P.</LI>访问POSIX API的其他编程语言
  • 在类似POSIX的shell中(实际上是指大多数Unix shell,包括
    bash
    ),在
    docker运行完成后立即作为特殊
    $?
    变量的内容
  • 在Java中,用于执行docker运行的
    进程的值
如果您使用的是Docker API,它应该提供对退出状态的访问

  • 在使用的Java中,
    docker.waitContainer()
    返回的
    ContainerExit
    对象的
    ContainerExit.statusCode()的值

“$”扩展到最近执行的前台管道的退出状态。“-如果您想知道“$?”的作用是什么-
$ docker run debian bash -c "exit 1"
$ echo $?
1

$ docker run debian bash -c "exit 0"
$ echo $?
0