java.lang.IllegalStateException:找不到有效的Docker环境。请查看日志并检查配置
我有一个名为myImageName:latest的docker映像,我在应用程序中使用它。 我想为我的应用程序编写一个集成测试,因此我想使用TestContainer包。当我运行以下简单测试时:java.lang.IllegalStateException:找不到有效的Docker环境。请查看日志并检查配置,java,docker,java-11,testcontainers,testcontainers-junit5,Java,Docker,Java 11,Testcontainers,Testcontainers Junit5,我有一个名为myImageName:latest的docker映像,我在应用程序中使用它。 我想为我的应用程序编写一个集成测试,因此我想使用TestContainer包。当我运行以下简单测试时: @Testcontainers public class myIntegrationTest{ @Container private GenericContainer container = new GenericContainer<>(DockerImageNam
@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());
}
}
@Testcontainers
公共类myIntegrationTest{
@容器
专用通用容器=
新的GenericContainer(DockerImageName.parse(“myImageName:latest”))
.具有暴露端口(8080);
@试验
public void myIntegrationTestName()引发异常{
assertTrue(container.isRunning());
}
}
我得到以下错误(完整堆栈跟踪):
18:30:58.741[main]错误org.testcontainers.dockerclient.DockerClientProviderStrategy-找不到有效的Docker环境。请检查配置。尝试的配置包括:
2.
18:30:58.746[main]ERROR 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)
位于java.base/java.util.Optional.orelsetrow(Optional.java:408)
位于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.TestContainerExtension$StoreAdapter.start(testContainerExtension.java:242)
位于org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:229)
位于org.testcontainers.junit.jupiter.TestContainerExtension.lambda$null$4(testContainerExtension.java:82)
位于org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getorComputeFabSent$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)
位于org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$closeAllStoredCloseableValues$1(ExtensionValuesStore.java:65)
位于java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
位于java.base/java.util.concurrent.ConcurrentHashMap$ValueSpliterator.ForEachRestaining(ConcurrentHashMap.java:3605)
位于java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
位于java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
位于java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
位于java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
位于java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
位于java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
位于org.junit.jupiter.engine.execution.ExtensionValuesStore.closeAllStoredCloseableValues(ExtensionValuesStore.java:68)
位于org.junit.jupiter.engine.descriptor.AbstractExtensionContext.close(AbstractExtensionContext.java:74)
位于org.junit.jupiter.engine.execution.jupiterengineeexecutioncontext.close(jupiterengineeexecutioncontext.java:53)
位于org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp(JupiterTestDescriptor.java:222)
位于org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:148)
位于org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:65)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.lambda$cleanUp$9(NodeTestTask.java:155)
位于org.junit.platform.engine.support.hierarchy.ThrowableCollector.execute(ThrowableCollector.java:73)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.cleanUp(NodeTestTask.java:155)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.execute(NodeTestTask.java:87)
位于java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
位于org.junit.platform.engine.support.hierarchy.samethreadherarchycalTestExecutorService.invokeAll(samethreadherarchycalTestExecutorService.java:38)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.lambda$ExecuteCursive$5(NodeTestTask.java:143)
位于org.junit.platform.engine.support.hierarchy.ThrowableCollector.execute(ThrowableCollector.java:73)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.lambda$ExecuteCursive$7(NodeTestTask.java:129)
位于org.junit.platform.engine.support.hierarchy.Node.around(Node.java:137)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.lambda$ExecuteCursive$8(NodeTestTask.java:127)
位于org.junit.platform.engine.support.hierarchy.ThrowableCollector.execute(ThrowableCollector.java:73)
在org.junit.platform.engine.support.hierarchy.NodeTestTask.executecurively上(NodeTestTask.java:126)
位于org.junit.platform.engine.support.hierarchy.NodeTestTask.execute(NodeTestTask.java:84)
位于java.base/java.util.ArrayList.fo
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.5</version>
</dependency>