Jeśli Testcontainers zawiedzie podczas pobierania obrazu, ustawienia withEnv przyszłego kontenera nie pomogą. To demon Dockera wykonuje to pobieranie z rejestru, zanim kontener istnieje.

Nieudana operacjaKonfiguracja proxy do sprawdzenia
Pobieranie obrazuDemon Dockera używany przez test oraz jego trasa do rejestru
Pobieranie wewnątrz działającego konteneraDane wejściowe obsługiwane przez aplikację w tym kontenerze
Test Java łączy się z Dockerem lub aplikacjąKlient Java, który nawiązuje to połączenie

W drugim przypadku dodaj zmienne środowiskowe do istniejącej definicji GenericContainer:

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

Jeśli pobieranie wewnątrz kontenera może korzystać z publicznego punktu końcowego HTTP, uzupełnij te wartości z listy proxy HTTP. Program w obrazie musi odczytywać te zmienne. Nie zamieniają one dowolnego gniazda bazy danych w ruch proxy HTTP. Punkt końcowy musi być też osiągalny z kontenera: jego 127.0.0.1 wskazuje na niego samego.

W pierwszym przypadku znajdź środowisko Dockera, którego Testcontainers naprawdę używa. Zdalny demon lub Docker Desktop mogą brać konfigurację z innego źródła niż lokalny dockerd. Zachowaj lokalne usługi testowe i API Dockera na ich zamierzonych trasach, dodając szerokie domyślne proxy.

Powiązane artykuły