Kwa nini Testcontainers withEnv haipitishi upakuaji wa picha kupitia proksi
Sanidi daemon ya Docker kwa upakuaji ulioshindikana; vigezo vya proksi vya kontena hufikia programu baada ya kontena kuundwa.
Ikiwa Testcontainers itashindikana wakati wa kupakua picha, mipangilio ya withEnv ya kontena lijalo haiwezi kusaidia. Daemon ya Docker hufanya upakuaji huo kutoka rejista kabla kontena halipo.
| Operesheni iliyoshindikana | Mipangilio ya proksi ya kukagua |
|---|---|
| Upakuaji wa picha | Daemon ya Docker inayotumiwa na jaribio na njia yake kuelekea rejista |
| Upakuaji ndani ya kontena linaloendesha | Mapendekezo yanayotumiwa na programu katika kontena hilo |
| Jaribio la Java huunganisha na Docker au programu | Mteja wa Java anayefanya muunganisho huo |
Kwa kesi ya pili, ongeza vigezo vya mazingira kwenye ufafanuzi uliopo wa GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ikiwa upakuaji ndani ya kontena unaruhusiwa kutumia kituo cha HTTP cha umma, jaza thamani hizo kutoka orodha ya proksi za HTTP. Programu iliyo ndani ya picha lazima isome vigezo hivyo. Hazigeuzi soketi yoyote ya hifadhidata kuwa trafiki ya proksi ya HTTP. Kituo hicho lazima pia kifikike kutoka kwenye kontena: 127.0.0.1 yake inaelekeza kwake yenyewe.
Kwa kesi ya kwanza, tafuta mazingira ya Docker ambayo Testcontainers hutumia kweli. Daemon ya mbali au Docker Desktop inaweza kuchukua mipangilio kutoka chanzo tofauti na dockerd ya ndani. Weka huduma za jaribio za ndani na API ya Docker kwenye njia zilizokusudiwa unapoongeza proksi chaguo-msingi pana.