Varför Testcontainers withEnv inte proxar image-hämtningar
Konfigurera Docker-daemonen för en misslyckad hämtning; containerns proxyvariabler når först programmen efter att containern skapats.
Om Testcontainers misslyckas när ett image hämtas kan den kommande containerns withEnv-inställningar inte hjälpa. Det är Docker-daemonen som gör den nedladdningen från registret innan containern finns.
| Misslyckad åtgärd | Proxykonfiguration att granska |
|---|---|
| Image-hämtning | Docker-daemonen som testet använder och dess väg till registret |
| Nedladdning inne i den körande containern | De indata som programmet stöder i den containern |
| Java-testet ansluter till Docker eller programmet | Java-klienten som gör den anslutningen |
För det andra fallet, lägg till miljövariabler i den befintliga GenericContainer-definitionen:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Om en nedladdning i containern får använda en offentlig HTTP-slutpunkt, fyll i dessa värden från HTTP-proxylistan. Programmet i imagen måste läsa de variablerna. De gör inte en godtycklig databassocket till HTTP-proxytrafik. Slutpunkten måste också nås från containern: dess 127.0.0.1 pekar på sig själv.
För det första fallet, hitta den Docker-miljö som Testcontainers faktiskt använder. En fjärrdaemon eller Docker Desktop kan hämta konfigurationen från en annan källa än en lokal dockerd. Håll lokala testtjänster och Docker-API:t på deras avsedda vägar när du lägger till en bred proxy-standard.