Miért nem proxizza a Testcontainers withEnv az image-letöltéseket
Konfigurálja a Docker daemont a sikertelen letöltéshez; a konténer proxy változói csak a konténer létrehozása után érik el a programokat.
Ha a Testcontainers meghiúsul egy image letöltése közben, a leendő konténer withEnv beállításai nem segíthetnek. A Docker daemon végzi ezt a letöltést a registryből, mielőtt a konténer létezne.
| Sikertelen művelet | Ellenőrizendő proxy konfiguráció |
|---|---|
| Image letöltése | A teszt által használt Docker daemon és annak útvonala a registryhez |
| Letöltés a futó konténeren belül | Az alkalmazás által támogatott bemenetek abban a konténerben |
| A Java teszt a Dockerhez vagy az alkalmazáshoz csatlakozik | A Java kliens, amely ezt a kapcsolatot létrehozza |
A második esethez adjon környezeti változókat a meglévő GenericContainer definícióhoz:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Ha a konténeren belüli letöltés nyilvános HTTP végpontot használhat, töltse ki ezeket az értékeket a HTTP proxy listából. Az image-ben lévő programnak be kell olvasnia ezeket a változókat. Ezek nem alakítanak egy tetszőleges adatbázis-socketet HTTP proxy forgalommá. A végpontnak a konténerből is elérhetőnek kell lennie: a 127.0.0.1 önmagára mutat.
Az első esethez keresse meg azt a Docker környezetet, amelyet a Testcontainers valóban használ. Egy távoli daemon vagy a Docker Desktop más forrásból veheti a konfigurációt, mint egy helyi dockerd. Tartsa a helyi teszt-szolgáltatásokat és a Docker API-t a szánt útvonalakon, amikor széles proxy alapértelmezést ad hozzá.