我正在使用测试容器库来启动一个容器。它工作了一段时间,但目前运行到这个
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);
}
5条答案
按热度按时间s3fp2yjn1#
我可以确认,通过将testcontainers更新到1.16.0版本可以解决此问题
面临与testcontainers 1.15.3相同的异常
Windows 10,Docker桌面4.0.0
im9ewurl2#
我遇到了同样的问题,同样的Docker-for-Mac版本。
我的解决方案是在首选项中禁用“使用gRPC FUSE进行文件共享”:
vawmfj5a3#
我试过这里提到的所有方法,但都不起作用。如果有人仍然面临这个问题,他们可以给予一试...这对我很有效
这适用于windows
1.在管理员模式下打开你的power shell.
1.运行“网络停止winnat”
1.运行“网络启动winnat”
这样做解决了我的设置问题。希望这对某人有帮助
b1uwtaje4#
对我来说,重新启动本地Docker引擎解决了这个问题
zaq34kh65#
我在Windows 11计算机上遇到了同样的问题:
原来大量的端口是由服务“IP helper”(与ipv6支持有关)分配的,即由testcontainer或其他服务预先分配的端口。IP helper分配了数周,但从未或很少释放。通过永久禁用IP helper服务,所有问题都得到了解决,设置工作良好,从那时起没有任何我需要的副作用。