小编Ode*_*ded的帖子

java.lang.IllegalStateException:找不到有效的 Docker 环境。请查看日志并检查配置

我有一个名为 myImageName:latest 的 docker 映像,我在应用程序中使用它。我想为我的应用程序编写集成测试,因此我想使用 TestContainer 包。当我运行以下简单测试时:

@Testcontainers
public class myIntegrationTest{

    @Container
    private GenericContainer container =
    new GenericContainer<>(DockerImageName.parse("myImageName:latest"))
    .withExposedPorts(8080);

    
    @Test
    public void myIntegrationTestName() throws Exception{
        assertTrue(container.isRunning());
    }

}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误(完整堆栈跟踪):

18:30:58.741 [main] 错误 org.testcontainers.dockerclient.DockerClientProviderStrategy - 找不到有效的 Docker 环境。请检查配置。尝试的配置是:2 18:30:58.746 [主要]错误org.testcontainers.dockerclient.DockerClientProviderStrategy - UnixSocketClientProviderStrategy:失败,异常NoClassDefFoundError(无法初始化类org.testcontainers.shaded.com.github.dockerjava.core.DefaultObjectMapperHolder)18 :30:58.747 [main]错误org.testcontainers.dockerclient.DockerClientProviderStrategy - 由于未找到有效配置,因此无法继续执行

java.lang.IllegalStateException:找不到有效的 Docker 环境。请查看日志并检查org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$7(DockerClientProviderStrategy.java:215) at java.base/java.util.Optional.orElseThrow(Optional.java:408) at org.testcontainers的配置。 dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:207) 在 org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:136) 在 org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:178) 在 org.testcontainers.LazyDockerClient.getDockerClient (LazyDockerClient.java:14) 在 org.testcontainers.LazyDockerClient.authConfig(LazyDockerClient.java:12) 在 org.testcontainers.containers.GenericContainer.start(GenericContainer.java:310) 在 org.testcontainers.junit.jupiter.TestcontainersExtension$ StoreAdapter.start(TestcontainersExtension.java:242) 在 org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:229) 在 org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$null$4(TestcontainersExtension. java:82) 在 org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getOrComputeIfAbsent$4(ExtensionValuesStore.java:86) 在 org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.get(ExtensionValuesStore.java:205 )在 org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.evaluate(ExtensionValuesStore.java:182) 在 org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.access$100(ExtensionValuesStore.java:171) …

java docker testcontainers java-11 testcontainers-junit5

7
推荐指数
1
解决办法
2万
查看次数