Hvis Testcontainers feiler under en image-henting, kan den kommende containerens withEnv-innstillinger ikke hjelpe. Det er Docker-daemonen som gjør den nedlastingen fra registeret før containeren finnes.

Mislykket operasjonProxykonfigurasjon som må undersøkes
Image-hentingDocker-daemonen som testen bruker, og ruten dens til registeret
Nedlasting inne i den kjørende containerenInndataene applikasjonen støtter i den containeren
Java-testen kobler til Docker eller applikasjonenJava-klienten som lager den tilkoblingen

For det andre tilfellet, legg miljøvariabler til den eksisterende GenericContainer-definisjonen:

container
    .withEnv("http_proxy", "http://proxy.example:8080")
    .withEnv("https_proxy", "http://proxy.example:8080");

Hvis en nedlasting inne i containeren får bruke et offentlig HTTP-endepunkt, fyll ut disse verdiene fra HTTP-proxylisten. Programmet i imaget må lese disse variablene. De gjør ikke en vilkårlig databasesocket om til HTTP-proxytrafikk. Endepunktet må også være nåbart fra containeren: 127.0.0.1 viser til seg selv.

For det første tilfellet, finn Docker-miljøet som Testcontainers faktisk bruker. En ekstern daemon eller Docker Desktop kan hente konfigurasjonen fra en annen kilde enn en lokal dockerd. Hold lokale testtjenester og Docker-API-et på de tiltenkte rutene når du legger til en bred proxy-standard.

Relaterte artikler