Zašto Testcontainers withEnv ne usmerava preuzimanje slika kroz proxy
Konfigurišite Docker daemon za neuspelo preuzimanje; proxy promenljive kontejnera stižu do programa tek nakon što se kontejner kreira.
Ako Testcontainers ne uspe prilikom preuzimanja slike, postavke withEnv budućeg kontejnera ne mogu pomoći. Docker daemon obavlja to preuzimanje sa registra pre nego što kontejner postoji.
| Neuspela operacija | Proxy konfiguracija koju treba proveriti |
|---|---|
| Preuzimanje slike | Docker daemon koji test koristi i njegova ruta do registra |
| Preuzimanje unutar pokrenutog kontejnera | Ulazi koje aplikacija podržava u tom kontejneru |
| Java test se povezuje sa Dockerom ili aplikacijom | Java klijent koji ostvaruje tu vezu |
Za drugi slučaj dodajte promenljive okruženja u postojeću definiciju GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ako je preuzimanju unutar kontejnera dozvoljeno da koristi javni HTTP endpoint, popunite te vrednosti iz liste HTTP proxyja. Program u slici mora da čita te promenljive. One ne pretvaraju proizvoljni socket baze podataka u HTTP proxy saobraćaj. Endpoint takođe mora biti dostupan iz kontejnera: njegov 127.0.0.1 pokazuje na njega samog.
Za prvi slučaj pronađite Docker okruženje koje Testcontainers zaista koristi. Udaljeni daemon ili Docker Desktop mogu da preuzmu konfiguraciju iz drugog izvora od lokalnog dockerd. Zadržite lokalne test usluge i Docker API na njihovim predviđenim rutama kada dodajete široki proxy podrazumevani.