Miks Testcontainers withEnv ei suuna pilditõmbamist puhverserveri kaudu
Seadistage Dockeri deemon ebaõnnestunud tõmbamise jaoks; konteineri puhverserveri muutujad jõuavad programmidesse alles pärast konteineri loomist.
Kui Testcontainers ebaõnnestub pildi tõmbamisel, ei aita tulevase konteineri withEnv seaded. Selle registrist allalaadimise teeb Dockeri deemon enne, kui konteiner on olemas.
| Ebaõnnestunud toiming | Kontrollitav puhverserveri seade |
|---|---|
| Pildi tõmbamine | Dockeri deemon, mida test kasutab, ja selle tee registrisse |
| Allalaadimine töötava konteineri sees | Rakenduse toetatud sisendid selles konteineris |
| Java test ühendub Dockeriga või rakendusega | Java klient, mis selle ühenduse loob |
Teisel juhul lisage keskkonnamuutujad olemasolevasse GenericContainer definitsiooni:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Kui konteinerisisene allalaadimine võib kasutada avalikku HTTP-lõpp-punkti, täitke need väärtused HTTP puhverserverite loendist. Pildis olev programm peab neid muutujaid lugema. Need ei muuda suvalist andmebaasi soklit HTTP puhverserveri liikluseks. Lõpp-punkt peab olema ka konteinerist kättesaadav: selle 127.0.0.1 osutab sellele endale.
Esimesel juhul leidke Dockeri keskkond, mida Testcontainers tegelikult kasutab. Kaugdeemon või Docker Desktop võib võtta seadistuse muust allikast kui kohalik dockerd. Hoidke kohalikud testiteenused ja Dockeri API kavandatud marsruutidel, kui lisate laia puhverserveri vaikeväärtuse.