ElasticSearch를 사용하고 있는 프로젝트에서 테스트를 돌리기 위해 docker를 띄워야 되는 상황이었습니다. Docker Desktop이 유료화되면서 Rancher Desktop을 사용하고 있는 상황이었습니다.
테스트를 실행하였으나 아래와 같은 오류가 발생하며 테스트가 실행되지 못했습니다.
Caused by: java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration
at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$7(DockerClientProviderStrategy.java:276) at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:267)
at org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:150)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:191)
at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:104)
at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:109)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:321)
...
해당 프로젝트에서는 TestContainer를 사용해 ElasticSearch를 사용하고 있었습니다. 이 경우 IntelliJ에서 docker와 통신할 수 있는 구조가 갖춰져야 하는데요. 실패했을 당시 제 IDE 상태는 아래와 같이 docker에 연결을 할 수 없는 상황이었습니다.

통신에 실패한 이유는 IntelliJ가 바라보는 docker.sock 파일이 있는 경로가 /var/run입니다. 그러나 Rancher desktop이 실행될 때 docker.sock 파일 위치는 해당 경로에 위치하지 않습니다.
sudo ln -s ~$USER/.rd/docker.sock /var/run/docker.sock
따라서, 위 명령을 사용해 IntelliJ에서 바라보는 경로에 심볼릭 링크를 만들어주면 정상적으로 테스트를 실행할 수 있습니다.