testcontainers / testcontainers/testcontainers-java
[Centos 7] ContainerLaunchException: Timed out waiting for container port to open (0.0.0.0 ports: [32807] should be listening)
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 8.7k
- フォーク
- 1.9k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 9
説明
@ClassRule
public static GenericContainer myum = new GenericContainer("myum:latest")
.withExposedPorts(11111)
.waitingFor(Wait.forListeningPort().withStartupTimeout(Duration.ofSeconds(240)));
while running the junit I see the following ,
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ℹ︎ Checking the system...
✔ Docker version should be at least 1.6.0
✔ Docker environment should have more than 2GB free disk space
✔ File should be mountable
2018-07-18 15:00:56,007 ERROR (org.testcontainers.shaded.io.netty.util.ResourceLeakDetector) [testcontainers-netty-1-8] - LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-Dorg.testcontainers.shaded.io.netty.leakDetection.level=advanced' or call ResourceLeakDetector.setLevel() See http://netty.io/wiki/reference-counted-objects.html for more information.
Test ignored.
org.testcontainers.containers.ContainerLaunchException: Container startup failed
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:231)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:209)
at org.testcontainers.containers.GenericContainer.starting(GenericContainer.java:690)
at org.testcontainers.containers.FailureDetectingExternalResource$1.evaluate(FailureDetectingExternalResource.java:29)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:83)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:224)
... 10 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:297)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:226)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
... 11 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (0.0.0.0 ports: [32807] should be listening)
at org.testcontainers.containers.wait.strategy.HostPortWaitStrategy.waitUntilReady(HostPortWaitStrategy.java:47)
at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:32)
at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:559)
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:276)
... 13 more
Process finished with exit code 255
BUILD DETAILS
testcontainers1.8.1
Docker version 17.03.2-ce, build f5ec1e2
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ここで説明されている JUnit の例、Testcontainers 1.8.1、Docker 17.03.2-ce、CentOS 7 の環境を使用し、スタックトレースの該当箇所にある GenericContainer.java と HostPortWaitStrategy.java から調査を始めます。ポート待機のタイムアウトを再現し、公開されたコンテナーポートが検出されない理由を追跡します。報告された起動失敗が説明され、成功する回帰テストでカバーされるか、文書化された解決策が得られれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, java
- 領域
- devops, testing
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100