Я хочу использовать образ Docker только для локальной сети с тестовые контейнеры.
Код выглядит так:
new GenericContainer("rserver:latest")...
Однако, похоже, другое изображение с таким же именем, извлекается из удаленного реестра.
Как я могу заставить тестовые контейнеры использовать локальный образ?
Может, использовать не latest, а версию вашего локального образа?
@ cricket_007 Спасибо. Использование другого имени в качестве обходного пути делает работу. Мне все еще интересно, можно ли принудительно использовать локальный образ.
@Ben Разве указание версии не уменьшит вероятность получения нежелательных изображений?




Я знаю, что это слишком поздно, но он может быть полезен другим, у кого точно такая же проблема.
Если у вас уже есть желаемое изображение, попробуйте неявно установить политику извлечения изображений для вашего контейнера по умолчанию:
GenericContainer container = new GenericContainer("someImage")
.withImagePullPolicy(PullPolicy.defaultPolicy());
Политика извлечения изображений по умолчанию предписывает Docker извлекать образ из удаленного репозитория, только если он не существует локально.
Обратите внимание, что этот метод (withImagePullPolicy (..)) доступен только в последних версиях зависимости TestContainers. Пользуюсь 1.14.3.
Попробуйте пометить свои местные изображения?
docker build -t local/rserver, и используйте это