Prečo Testcontainers withEnv neproxyuje sťahovanie image
Nakonfigurujte démona Docker pre neúspešné stiahnutie; proxy premenné kontajnera sa k programom dostanú až po vytvorení kontajnera.
Ak Testcontainers zlyhá pri sťahovaní image, nastavenia withEnv budúceho kontajnera nepomôžu. Toto sťahovanie z registra vykonáva démon Docker ešte predtým, než kontajner existuje.
| Neúspešná operácia | Proxy konfigurácia na kontrolu |
|---|---|
| Sťahovanie image | Démon Docker, ktorý test používa, a jeho cesta k registru |
| Sťahovanie vnútri bežiaceho kontajnera | Vstupy, ktoré aplikácia v tomto kontajneri podporuje |
| Java test sa pripája k Dockeru alebo k aplikácii | Java klient, ktorý to spojenie vytvára |
V druhom prípade pridajte premenné prostredia do existujúcej definície GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ak sťahovanie vnútri kontajnera môže používať verejný HTTP endpoint, vyplňte tie hodnoty z zoznamu HTTP proxy. Program v image musí tieto premenné čítať. Nepremenia ľubovoľný socket databázy na prevádzku cez HTTP proxy. Endpoint musí byť tiež dostupný z kontajnera: jeho 127.0.0.1 odkazuje na neho samého.
V prvom prípade nájdite prostredie Docker, ktoré Testcontainers skutočne používa. Vzdialený démon alebo Docker Desktop môžu brať konfiguráciu z iného zdroja než miestny dockerd. Ponechajte miestne testovacie služby a Docker API na ich zamýšľaných cestách, keď pridávate širokú predvolenú proxy.