测试容器和牧场主

testContainers and Rancher

我有一个 Spring Boot 应用程序,其集成测试正在使用 testContainers

直到最近,我才使用 Docker Desktop 并且能够从 Intellij 或 CLI 中轻松 运行 测试。

最近我把我的 Windows 机器换成了 Rancher desktop

现在尝试 运行 集成测试时 gradle integrationTest 我收到此错误:

Caused by: java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:109) at org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:136) at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:178) 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)

Intellij 或 Rancher 或 Windows 是否需要额外的配置才能使其正常工作?

2022 年 2 月更新:据报道here TestContainers 与 Rancher Desktop 配合得很好1.0.1

基于以下两个已关闭的问题 - first, second - 在 testcontainers-java github 中,Testcontainers 没有似乎不支持 Rancher Desktop,至少官方是这样。

我在 windows 机器上使用 运行 rancher 桌面版 1.0.0,只需在 .testcontainers.properties 中添加 'checks.disable=true' 即可让测试容器正常工作(位于 C:\Users<您的用户>)

将 Rancher Desktop 更新到版本 1.0.1 为我解决了这个问题