使用Spotify Docker Java客户端阻止日志消息 描述
在docker容器启动之前,我使用以下功能来阻止surefire测试。 这几乎总是有效的,但有时我会遇到如下所示的异常。我不确定在什么情况下使用Spotify Docker Java客户端阻止日志消息 描述,java,docker,jenkins,Java,Docker,Jenkins,在docker容器启动之前,我使用以下功能来阻止surefire测试。 这几乎总是有效的,但有时我会遇到如下所示的异常。我不确定在什么情况下next会因为LogStream而失败,或者dockerClient.logs获取日志流的方式是否存在问题 我的问题是: 其他人如何使用docker客户端等待 日志 什么会导致我看到的异常 如何繁殖 我仍然不知道如何复制,因为它很少发生在我的本地机器上,但总是发生在我们的Jenkins服务器上 你期待什么 没有抛出exeption,我们将读取日志 发生了什么
next
会因为LogStream
而失败,或者dockerClient.logs
获取日志流的方式是否存在问题
我的问题是:
其他人如何使用docker客户端等待
日志
什么会导致我看到的异常
如何繁殖
我仍然不知道如何复制,因为它很少发生在我的本地机器上,但总是发生在我们的Jenkins服务器上
你期待什么
没有抛出exeption,我们将读取日志
发生了什么事
异常被抛出
软件:
Docker版本:
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Experimental: false
Spotify的docker客户端版本:7.0.2
全回溯
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Experimental: false
Caused by: java.util.NoSuchElementException: null
at com.google.common.collect.AbstractIterator.next(AbstractIterator.java:154)
at com.support.test.core.docker.DockerProxy.waitForLog(DockerProxy.java:175)
at com.support.test.core.runner.TestListener.testRunStarted(TestListener.java:54)
at org.junit.runner.notification.SynchronizedRunListener.testRunStarted(SynchronizedRunListener.java:35)
at org.junit.runner.notification.RunNotifier$1.notifyListener(RunNotifier.java:91)
at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
at org.junit.runner.notification.RunNotifier.fireTestRunStarted(RunNotifier.java:88)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:120)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)