【问题标题】:java.lang.IllegalStateException: Could not connect to Ryuk at localhost:49167java.lang.IllegalStateException:无法在 localhost:49167 连接到 Ryuk
【发布时间】:2021-07-27 18:53:22
【问题描述】:

我正在使用测试容器库来启动容器。它工作了一段时间,但目前遇到了这个

java.lang.IllegalStateException: Could not connect to Ryuk at localhost:49167

    at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:201)
    at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:205)
    at org.testcontainers.LazyDockerClient.getDockerClient(LazyDockerClient.java:14)
    at org.testcontainers.LazyDockerClient.authConfig(LazyDockerClient.java:12)
    at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:310)

我查看了资源收割者代码,似乎在这里失败了

public synchronized void performCleanup() {
    this.registeredContainers.forEach(this::stopContainer);
    this.registeredNetworks.forEach(this::removeNetwork); //FAILS HERE
    this.registeredImages.forEach(this::removeImage);
}

【问题讨论】:

  • 您使用的是哪个 Testcontainers 版本,能否为您的失败测试添加代码?
  • @rieckpil 1.15.2 和 Ubuntu 20.02
  • 当我重新启动 docker 时,问题就消失了,但那是我盲目的射击。我可以知道是什么导致了这个问题吗?因为这个问题持续了一段时间
  • 如果无法再次重现该问题,很难说是什么问题导致了此问题。你的 Docker 版本是多少?
  • @user1870400 你能解决这个问题吗?

标签: docker testcontainers


【解决方案1】:

我可以确认已通过将测试容器更新到 1.16.0 版本来解决此问题

在 testcontainers 1.15.3 中遇到了同样的异常

Windows 10、Docker 桌面 4.0.0

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。相同的 Docker-for-Mac 版本。

    我的解决方案是在首选项中禁用“使用 gRPC FUSE 进行文件共享”:

    【讨论】:

    • 救了我的培根!谢谢
    【解决方案3】:

    对我来说,重启本地 docker 引擎解决了问题

    【讨论】:

      猜你喜欢
      • 2022-07-20
      • 2021-12-10
      • 2022-10-04
      • 2019-08-22
      • 2016-11-05
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多