java.lang.IllegalStateException:无法在 localhost:49167 连接到 Ryuk
Posted
技术标签:
【中文标题】java.lang.IllegalStateException:无法在 localhost:49167 连接到 Ryuk【英文标题】:java.lang.IllegalStateException: Could not connect to Ryuk at localhost:49167 【发布时间】: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 你能解决这个问题吗? 【参考方案1】:我可以确认已通过将测试容器更新到 1.16.0 版本来解决此问题
在 testcontainers 1.15.3 中遇到了同样的异常
Windows 10、Docker 桌面 4.0.0
【讨论】:
【参考方案2】:我遇到了同样的问题。相同的 Docker-for-Mac 版本。
我的解决方案是在首选项中禁用“使用 gRPC FUSE 进行文件共享”:
【讨论】:
救了我的培根!谢谢【参考方案3】:对我来说,重启本地 docker 引擎解决了问题
【讨论】:
以上是关于java.lang.IllegalStateException:无法在 localhost:49167 连接到 Ryuk的主要内容,如果未能解决你的问题,请参考以下文章