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

Я хочу использовать образ Docker только для локальной сети с тестовые контейнеры.

Код выглядит так:

new GenericContainer("rserver:latest")...

Однако, похоже, другое изображение с таким же именем, извлекается из удаленного реестра.

Как я могу заставить тестовые контейнеры использовать локальный образ?

Попробуйте пометить свои местные изображения? docker build -t local/rserver, и используйте это

OneCricketeer 29.05.2018 14:55

Может, использовать не latest, а версию вашего локального образа?

Ben 29.05.2018 14:56

@ cricket_007 Спасибо. Использование другого имени в качестве обходного пути делает работу. Мне все еще интересно, можно ли принудительно использовать локальный образ.

deamon 29.05.2018 15:11

@Ben Разве указание версии не уменьшит вероятность получения нежелательных изображений?

deamon 29.05.2018 15:12
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
6
4
1 717
1

Ответы 1

Я знаю, что это слишком поздно, но он может быть полезен другим, у кого точно такая же проблема.

Если у вас уже есть желаемое изображение, попробуйте неявно установить политику извлечения изображений для вашего контейнера по умолчанию:

GenericContainer container = new GenericContainer("someImage")
        .withImagePullPolicy(PullPolicy.defaultPolicy());

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

Обратите внимание, что этот метод (withImagePullPolicy (..)) доступен только в последних версиях зависимости TestContainers. Пользуюсь 1.14.3.

Другие вопросы по теме