【问题标题】:How can I Get command exit code executed with Testcontainers?如何获取使用 Testcontainers 执行的命令退出代码?
【发布时间】:2018-03-29 13:35:05
【问题描述】:

使用GenericContainer#execInContainer我只能得到stdout或stderr。

有什么方法可以获取执行命令的退出代码

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

【问题讨论】:

    标签: docker-java testcontainers


    【解决方案1】:

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

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

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

    false 是你的命令

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-04
      • 2016-10-10
      • 1970-01-01
      • 2010-12-30
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多