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