java.lang.IllegalStateException: не удалось найти допустимую среду Docker. Просмотрите журналы и проверьте конфигурацию

У меня есть образ докера myImageName: latest, который я использую в своем приложении. Я хочу написать интеграционный тест для своего приложения, поэтому хочу использовать пакет 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());
    }

}

Я получаю следующую ошибку (полная трассировка стека):

18: 30: 58.741 [основная] ОШИБКА org.testcontainers.dockerclient.DockerClientProviderStrategy - Не удалось найти допустимую среду Docker. Пожалуйста, проверьте конфигурацию. Были предприняты следующие попытки конфигурации: 2 18: 30: 58.746 [основная] ОШИБКА org.testcontainers.dockerclient.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: сбой с исключением NoClassDefFoundError (не удалось инициализировать класс org.testcontainers.shadedOefapper. : 30: 58.747 [основная] ОШИБКА org.testcontainers.dockerclient.DockerClientProviderStrategy - Так как действительная конфигурация не найдена, выполнение не может быть продолжено

Заранее спасибо!

  • junit v5.7
  • TestContainer v1.15.3
  • jdk v11.0.10
  • Я добавил в pom.xml следующую зависимость:

докер v20.10.5


person Oded    schedule 12.05.2021    source источник
comment
Привет, Виталий, спасибо за комментарий. Отредактировал пост, добавил логи до ошибки.   -  person Vitaly Chura    schedule 12.05.2021
comment
java.lang.IllegalStateException: не удалось найти допустимую среду Docker. Просмотрите журналы и проверьте конфигурацию на странице org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda $ getFirstValidStrategy $ 7 (DockerClientProviderStrategy.java:215) в java.base / java.util.Optional.orElseThrow (Необязательно.java. 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.containers.containers.Extension StoreAdapter.start (TestcontainersExtension.java:242) в org.testcontainers.junit.jupiter.TestcontainersExtension $ StoreAdapter.access $ 200 (TestcontainersExtension.ja va: 229) в org.testcontainers.junit.jupiter.TestcontainersExtension.lambda $ null $ 4 (TestcontainersExtension.java:82) в org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda $ getOrComputeIfAbsentalues.js86 (расширение) в org.junit.jupiter.engine.execution.ExtensionValuesStore $ MemoizingSupplier.get (ExtensionValuesStore.java:205) в org.junit.jupiter.engine.execution.ExtensionValuesStore $ StoredValue.evaluate (ExtensionValues. .jupiter.engine.execution.ExtensionValuesStore $ StoredValue.access $ 100 (ExtensionValuesStore.java:171) в org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda $ closeAllStoredCloseableValues ​​$ 1 (Extension.java.java: .util.stream.ReferencePipeline $ 2 $ 1.accept (ReferencePipeline.java:176) в java.base / java.util.concurrent.ConcurrentHashMap $ ValueSpliterator.forEachRemaining (ConcurrentHashMap.java:3605) в java.base.java.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. $ 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.javaContext:74) в orgutionExtensionContext.javaContext.Java: 74) в org.junit.jupiter.Conext. 53) в org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp (JupiterTestDescriptor.java:222) в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp (TestMethodTestDescriptor.cleanUp (TestMethodTestDescriptor. .engine.descriptor.TestMethodTestDescriptor.cleanUp (TestMethodTestDescriptor.java:65) на org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ cleanUp $ 9 (NodeTestTask.java.engine.junit orgunit orplatform.java.engine.junit orgunit orgunit org. support.hierarchical.ThrowableCollector.execute (ThrowableCollector.java:73) по адресу org.junit.platform.engine.support.hierarchical.NodeTestTask.cleanUp (NodeTestTask.java:155) по адресу org.junit.platform.hine.support. NodeTestTask.execute (NodeTestTask.ja va: 87) в java.base / java.util.ArrayList.forEach (ArrayList.java:1541) в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll (SameThreadHierarchicalService.invokeAll (SameThreadHierarchicalService.invokeAll) или SameThreadHierarchicalService. .platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5 (NodeTestTask.java:143) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector.java.java:73) в. platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7 (NodeTestTask.java:129) на org.junit.platform.engine.support.hierarchical.Node.around (Node.java:137) на org.junit.platform .engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask.java:127) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector.java:73) в org.java:73) engine.support.hierarchical.NodeTestTask.executeRecursively (NodeTestTask.java:126) в org.junit.platform.engine.support.hierarc hical.NodeTestTask.execute (NodeTestTask.java:84) в java.base / java.util.ArrayList.forEach (ArrayList.java:1541) в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestviceExecutar java: 38) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5 (NodeTestTask.java:143) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.executelector (ThrowableCollector.executelector. : 73) на org.junit.platform.engine.support.hierarchical. NodeTestTask.lambda $ executeRecursively $ 7 (NodeTestTask.java:129) на org.junit.platform.engine.support.hierarchical.Node.around (Node.java:137) на org.junit.platform.engine.support.hierarchical.NodeTaskical.NodeTask .lambda $ executeRecursively $ 8 (NodeTestTask.java:127) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector.java:73) в org.junit.platform.engine.support.Tierarchical. executeRecursively (NodeTestTask.java:126) в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask.java:84) в org.junit.platform.engine.support.hierarchical.SameThreadHreadCuticalSearchicalSameThreadHreadCuticalSameThreadchorcutical java: 32) по адресу org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute (HierarchicalTestExecutor.java:57) в org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.exejava:Enginechine.exe в org.junit.platform.launcher.core.EngineExecutionOrchestrato r.execute (EngineExecutionOrchestrator.java:108) по адресу org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute (EngineExecutionOrchestrator.java:88) по адресу org.junit.platform.launcher.core.EngineExecutestrator. .java: 54) на org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams (EngineExecutionOrchestrator.java:67) в org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeOrchestrator.executeOr (Engine:52) junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher.java:96) по адресу org.junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher.java:84) по адресу org.eclipse.jdt.internal.junit5. runner.JUnit5TestReference.run (JUnit5TestReference.java:98) по адресу org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:40) по адресу org.eclipse.jdt.internal.junner.temo. runTests (RemoteTestRunner.java:529) в org.eclipse.jdt.internal.junit.runner.RemoteTest Runner.runTests (RemoteTestRunner.java:756) по адресу org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:452) по адресу org.eclipse.jdt.internal.junit.runner.RemoteTest ( RemoteTestRunner.java:210)   -  person Oded    schedule 12.05.2021


Ответы (1)


В этом пакете отсутствует класс:

<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-annotations</artifactId>
 <version>2.10.5</version>
</dependency>

DefaultObjectMapperHolder

Перед этой трассировкой стека должны быть некоторые другие предыдущие сообщения журнала, пожалуйста, проверьте их, причина должна быть там.

person Oded    schedule 13.05.2021