Dacă Testcontainers eșuează la descărcarea unei imagini, setările withEnv ale viitorului container nu pot ajuta. Demonul Docker face acea descărcare din registru înainte ca containerul să existe.

Operațiune eșuatăConfigurație proxy de verificat
Descărcarea imaginiiDemonul Docker folosit de test și ruta lui către registru
Descărcare în interiorul containerului care ruleazăIntrările acceptate de aplicație în acel container
Testul Java se conectează la Docker sau la aplicațieClientul Java care face acea conexiune

Pentru al doilea caz, adăugați variabile de mediu la definiția GenericContainer existentă:

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

Dacă o descărcare din interiorul containerului are voie să folosească un endpoint HTTP public, completați acele valori din lista de proxy HTTP. Programul din imagine trebuie să citească acele variabile. Ele nu transformă un socket oarecare de bază de date în trafic proxy HTTP. Endpointul trebuie să fie accesibil și din container: 127.0.0.1 al acestuia se referă la el însuși.

Pentru primul caz, găsiți mediul Docker pe care Testcontainers îl folosește de fapt. Un demon la distanță sau Docker Desktop poate prelua configurația dintr-o altă sursă decât un dockerd local. Păstrați serviciile de test locale și API-ul Docker pe rutele prevăzute atunci când adăugați un proxy implicit larg.

Articole similare