Zakaj Testcontainers withEnv ne usmerja pridobivanja podob prek proxyja
Konfigurirajte demona Docker za neuspešno pridobivanje; proxy spremenljivke v vsebniku dosežejo programe šele po ustvarjanju vsebnika.
Če Testcontainers spodleti med pridobivanjem podobe, nastavitve withEnv bodočega vsebnika ne morejo pomagati. To prenašanje iz registra izvede demon Docker, preden vsebnik obstaja.
| Neuspešna operacija | Konfiguracija proxyja, ki jo je treba preveriti |
|---|---|
| Pridobivanje podobe | Demon Docker, ki ga uporablja preizkus, in njegova pot do registra |
| Prenos znotraj delujočega vsebnika | Vhodi, ki jih aplikacija podpira v tem vsebniku |
| Preizkus Java se poveže z Dockerjem ali aplikacijo | Odjemalec Java, ki vzpostavi to povezavo |
Za drugi primer dodajte okoljske spremenljivke obstoječi definiciji GenericContainer:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Če sme prenos znotraj vsebnika uporabljati javno končno točko HTTP, izpolnite te vrednosti s seznama proxyjev HTTP. Program v podobi mora brati te spremenljivke. Ne spremenijo poljubne vtičnice podatkovne baze v promet proxyja HTTP. Končna točka mora biti dosegljiva tudi iz vsebnika: njen 127.0.0.1 kaže nase.
Za prvi primer poiščite okolje Docker, ki ga Testcontainers dejansko uporablja. Oddaljeni demon ali Docker Desktop lahko prevzame konfiguracijo iz drugega vira kot krajevni dockerd. Ohranite krajevne preizkusne storitve in API Docker na njihovih predvidenih poteh, ko dodajate široko privzeto proxy.