2

使用GenericContainer#execInContainer我只能得到标准输出或标准错误。

有没有办法获得执行命令的退出代码?

我不能依赖 stderr 中文本的存在。我执行的应用程序将一些信息打印到 stderr,但以代码 0 退出。

4

2 回答 2

6

execInContainer只是execCreateCmd/execStartCmd从 docker-java 的快捷方式。不幸的是,他们的 API 没有提供获取退出代码的方法。

但是您可以使用内置的 shell 功能,只需将代码作为 stdout/stderr 的一部分返回:

$ sh -c 'false; echo "ExitCode=$?"'
ExitCode=1

false你的命令在哪里

于 2017-10-18T08:18:24.037 回答
0

您可以使用inspectExecCmd(execId)获取有关已执行命令的信息,也可以从响应中获取退出代码inspectExecCmd

于 2020-02-05T15:43:15.900 回答