Proč Testcontainers withEnv neproxyuje stahování image
Nakonfigurujte démona Docker pro neúspěšné stažení; proxy proměnné kontejneru se k programům dostanou až po vytvoření kontejneru.
Pokud Testcontainers selže při stahování image, nastavení withEnv budoucího kontejneru nepomůže. Toto stažení z registru provádí démon Docker ještě předtím, než kontejner existuje.
| Neúspěšná operace | Proxy konfigurace k prověření |
|---|---|
| Stažení image | Démon Docker, který test používá, a jeho cesta k registru |
| Stažení uvnitř běžícího kontejneru | Vstupy, které aplikace v tomto kontejneru podporuje |
| Java test se připojuje k Dockeru nebo k aplikaci | Java klient, který to spojení vytváří |
Pro druhý případ přidejte proměnné prostředí do stávající definice GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Pokud smí stažení uvnitř kontejneru použít veřejný HTTP endpoint, vyplňte tyto hodnoty z seznamu HTTP proxy. Program v image musí tyto proměnné číst. Nepřemění libovolný socket databáze na provoz přes HTTP proxy. Endpoint musí být také dosažitelný z kontejneru: jeho 127.0.0.1 odkazuje na něj samotný.
Pro první případ najděte prostředí Docker, které Testcontainers skutečně používá. Vzdálený démon nebo Docker Desktop mohou brát konfiguraci z jiného zdroje než místní dockerd. Ponechte místní testovací služby a Docker API na jejich zamýšlených cestách, když přidáváte širokou výchozí proxy.