Hvers vegna Testcontainers withEnv beinir ekki myndsókn í gegnum proxy
Stilltu Docker-dæmoninn fyrir misheppnaða sókn; proxybreytur gámsins ná til forrita aðeins eftir að gámurinn er búinn til.
Ef Testcontainers mistekst við að sækja mynd geta withEnv-stillingar komandi gáms ekki hjálpað. Docker-dæmoninn framkvæmir þá sókn úr skránni áður en gámurinn er til.
| Misheppnuð aðgerð | Proxy-stilling sem á að skoða |
|---|---|
| Myndsókn | Docker-dæmoninn sem prófið notar og leið hans að skránni |
| Niðurhal inni í keyrandi gámnum | Inntökin sem forritið styður í þeim gámi |
| Java-prófið tengist Docker eða forritinu | Java-viðskiptavinurinn sem gerir þá tengingu |
Fyrir seinna tilvikið skaltu bæta umhverfisbreytum við fyrirliggjandi GenericContainer-skilgreiningu:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ef niðurhal inni í gámnum má nota opinbert HTTP-endapunkt, fylltu þau gildi úr HTTP-proxylistanum. Forritið í myndinni verður að lesa þær breytur. Þær breyta ekki handahófskenndri gagnagrunnssokket í HTTP-proxyumferð. Endapunkturinn verður líka að vera aðgengilegur úr gámnum: 127.0.0.1 hans vísar á hann sjálfan.
Fyrir fyrra tilvikið skaltu finna Docker-umhverfið sem Testcontainers notar í raun. Fjarlægur dæmon eða Docker Desktop getur tekið stillingar úr öðrum uppruna en staðbundinn dockerd. Haltu staðbundnum prófunarþjónustum og Docker-API á fyrirhuguðum leiðum þegar þú bætir við víðtækri proxy-sjálfgefnu.