Testcontainers не использует локальное docker изображение - PullRequest
0 голосов
/ 24 апреля 2020

У меня медленное соединение rnet, но у меня уже есть docker изображение, которое мне нужно. docker image ls:

yandex/clickhouse-server   20.1.8.41           3edfaacaf3ed        5 weeks ago         487MB

Итак, я пытаюсь использовать его в тест-контейнерах с указанной версией (не последняя )

@Rule
public ClickHouseContainer clickHouseContainer = (ClickHouseContainer)new ClickHouseContainer("yandex/clickhouse-server:20.1.8.41");

@Test
public void test() {
    System.out.println(clickHouseContainer.getJdbcUrl());
}

или с generi c one:

public GenericContainer genericContainer = new GenericContainer("yandex/clickhouse-server:20.1.8.41");

Но в результате получается ошибка:

Caused by: com.github.dockerjava.api.exception.DockerClientException: Could not pull image: net/http: TLS handshake timeout

Как настроить тест-контейнеры на использование локальных образов?

1 Ответ

1 голос
/ 25 апреля 2020

По умолчанию testcontainers использует локальный кеш , но также использует несколько опубликованных c изображений «для выполнения различных действий, таких как проверки запуска, запись в VN C и другие» , включая очистку контейнера с помощью Ryuk .

Я думаю, что загрузка некоторых из этих вспомогательных образов может быть неудачной в вашем случае. Попробуйте вытянуть их вручную. Моя ставка на quay.io/testcontainers/ryuk:0.2.3, так как остальное вам не нужно.

...