Ако Testcontainers се провали по време на изтегляне на изображение, настройките withEnv на бъдещия контейнер не могат да помогнат. Демонът на Docker извършва това изтегляне от регистъра преди контейнерът да съществува.

Неуспешна операцияПрокси конфигурация за проверка
Изтегляне на изображениеДемонът на Docker, който тестът използва, и неговият маршрут до регистъра
Изтегляне вътре в работещия контейнерВходовете, които приложението поддържа в този контейнер
Java тестът се свързва с Docker или с приложениетоJava клиентът, който осъществява тази връзка

За втория случай добавете променливи на средата към съществуващата дефиниция GenericContainer:

container
    .withEnv("http_proxy", "http://proxy.example:8080")
    .withEnv("https_proxy", "http://proxy.example:8080");

Ако изтегляне в контейнера има право да използва публичен HTTP адрес, попълнете тези стойности от списъка с HTTP прокси. Програмата в изображението трябва да чете тези променливи. Те не превръщат произволен сокет на база данни в HTTP прокси трафик. Адресът също трябва да е достъпен от контейнера: неговият 127.0.0.1 сочи към самия него.

За първия случай намерете Docker средата, която Testcontainers действително използва. Отдалечен демон или Docker Desktop може да вземат конфигурация от различен източник от местния dockerd. Запазете местните тестови услуги и Docker API по предназначените им маршрути, когато добавяте широко прокси по подразбиране.

Подобни статии