使用GenericContainer#execInContainer
我只能得到标准输出或标准错误。
有没有办法获得执行命令的退出代码?
我不能依赖 stderr 中文本的存在。我执行的应用程序将一些信息打印到 stderr,但以代码 0 退出。
使用GenericContainer#execInContainer
我只能得到标准输出或标准错误。
有没有办法获得执行命令的退出代码?
我不能依赖 stderr 中文本的存在。我执行的应用程序将一些信息打印到 stderr,但以代码 0 退出。
execInContainer
只是execCreateCmd/execStartCmd
从 docker-java 的快捷方式。不幸的是,他们的 API 没有提供获取退出代码的方法。
但是您可以使用内置的 shell 功能,只需将代码作为 stdout/stderr 的一部分返回:
$ sh -c 'false; echo "ExitCode=$?"'
ExitCode=1
false
你的命令在哪里
您可以使用inspectExecCmd(execId)
获取有关已执行命令的信息,也可以从响应中获取退出代码inspectExecCmd