Per què Testcontainers withEnv no encamina les descàrregues d'imatge pel proxy
Configureu el dimoni Docker per a una descàrrega fallida; les variables de proxy del contenidor només arriben als programes després de crear el contenidor.
Si Testcontainers falla mentre descarrega una imatge, la configuració withEnv del contenidor futur no hi pot ajudar. És el dimoni Docker qui fa aquesta descàrrega del registre abans que el contenidor existeixi.
| Operació fallida | Configuració de proxy que cal revisar |
|---|---|
| Descàrrega d'imatge | El dimoni Docker que fa servir la prova i la seva ruta cap al registre |
| Descàrrega dins del contenidor en execució | Les entrades que admet l'aplicació en aquest contenidor |
| La prova Java es connecta a Docker o a l'aplicació | El client Java que fa aquesta connexió |
Per al segon cas, afegiu variables d'entorn a la definició existent de GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Si una descàrrega dins del contenidor pot fer servir un punt de connexió HTTP públic, ompliu aquests valors amb la llista de proxies HTTP. El programa de la imatge ha de llegir aquestes variables. No converteixen un sòcol arbitrari de base de dades en trànsit de proxy HTTP. El punt de connexió també ha de ser abastable des del contenidor: el seu 127.0.0.1 fa referència a ell mateix.
Per al primer cas, trobeu l'entorn Docker que Testcontainers fa servir realment. Un dimoni remot o Docker Desktop pot prendre la configuració d'una font diferent de la del dockerd local. Mantingueu els serveis de prova locals i l'API de Docker a les seves rutes previstes quan afegiu un proxy per defecte ampli.