Kāpēc Testcontainers withEnv nenovada attēlu vilkšanu caur starpniekserveri
Konfigurējiet Docker dēmonu neveiksmīgai vilkšanai; konteinera starpniekservera mainīgie programmām nonāk tikai pēc konteinera izveides.
Ja Testcontainers neizdodas attēla vilkšanas laikā, topošā konteinera withEnv iestatījumi nevar palīdzēt. Šo lejupielādi no reģistra veic Docker dēmons vēl pirms konteiners pastāv.
| Neveiksmīga darbība | Pārbaudāmā starpniekservera konfigurācija |
|---|---|
| Attēla vilkšana | Docker dēmons, ko izmanto tests, un tā maršruts uz reģistru |
| Lejupielāde darbojošā konteinerā | Lietotnes atbalstītās ievades šajā konteinerā |
| Java tests savienojas ar Docker vai lietotni | Java klients, kas izveido šo savienojumu |
Otrajā gadījumā pievienojiet vides mainīgos esošajai GenericContainer definīcijai:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ja lejupielādei konteinerā ir atļauts izmantot publisku HTTP galapunktu, aizpildiet šīs vērtības no HTTP starpniekserveru saraksta. Programmai attēlā ir jālasa šie mainīgie. Tie nepārvērš patvaļīgu datubāzes ligzdu HTTP starpniekservera trafikā. Galapunktam jābūt sasniedzamam arī no konteinera: tā 127.0.0.1 norāda uz to pašu.
Pirmajā gadījumā atrodiet Docker vidi, ko Testcontainers faktiski izmanto. Attālināts dēmons vai Docker Desktop var ņemt konfigurāciju no cita avota nekā vietējais dockerd. Pievienojot plašu starpniekservera noklusējumu, saglabājiet vietējos testa pakalpojumus un Docker API paredzētajos maršrutos.