testcontainers / testcontainers/testcontainers-java

[Centos 7] ContainerLaunchException: Timed out waiting for container port to open (0.0.0.0 ports: [32807] should be listening)

オープン
#791 コメント 6 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

resolution/acknowledged
主要言語
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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。