Pse Testcontainers withEnv nuk e kalon shkarkimin e imazhit përmes proxy
Konfiguroni demonin e Docker për një shkarkim të dështuar; variablat proxy të kontejnerit arrijnë te programet vetëm pasi kontejneri krijohet.
Nëse Testcontainers dështon gjatë shkarkimit të një imazhi, cilësimet withEnv të kontejnerit të ardhshëm nuk mund të ndihmojnë. Është demoni i Docker që e kryen atë shkarkim nga regjistri përpara se kontejneri të ekzistojë.
| Operacion i dështuar | Konfigurim proxy për t'u kontrolluar |
|---|---|
| Shkarkimi i imazhit | Demoni i Docker që përdor testi dhe rruga e tij drejt regjistrit |
| Shkarkim brenda kontejnerit që po ekzekutohet | Inputet që aplikacioni mbështet në atë kontejner |
| Testi Java lidhet me Docker ose me aplikacionin | Klienti Java që e bën atë lidhje |
Për rastin e dytë, shtoni variabla mjedisi në përkufizimin ekzistues GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Nëse një shkarkim brenda kontejnerit lejohet të përdorë një pikë fundore publike HTTP, plotësoni ato vlera nga lista e proxy-ve HTTP. Programi në imazh duhet t'i lexojë ato variabla. Ato nuk e kthejnë një socket arbitrar të bazës së të dhënave në trafik proxy HTTP. Pika fundore duhet të jetë gjithashtu e arritshme nga kontejneri: 127.0.0.1 e saj i referohet vetvetes.
Për rastin e parë, gjeni mjedisin Docker që Testcontainers përdor vërtet. Një demon i largët ose Docker Desktop mund ta marrë konfigurimin nga një burim tjetër përveç dockerd lokal. Mbani shërbimet lokale të testit dhe API-n e Docker në rrugët e tyre të synuara kur shtoni një proxy të parazgjedhur të gjerë.