Jei Testcontainers nepavyksta traukiant atvaizdą, būsimo konteinerio withEnv nustatymai negali padėti. Tą atsisiuntimą iš registro atlieka Docker tarnyba dar prieš sukuriant konteinerį.

Nepavykusi operacijaTikrinama tarpinio serverio konfigūracija
Atvaizdo traukimasDocker tarnyba, kurią naudoja testas, ir jos maršrutas į registrą
Atsisiuntimas veikiančiame konteineryjeProgramos palaikomi įvestys tame konteineryje
Java testas jungiasi prie Docker arba programosJava klientas, kuris užmezga tą ryšį

Antruoju atveju pridėkite aplinkos kintamuosius prie esamo GenericContainer apibrėžimo:

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

Jei atsisiuntimui konteineryje leidžiama naudoti viešą HTTP galinį tašką, užpildykite tas reikšmes iš HTTP tarpinių serverių sąrašo. Programa atvaizde turi nuskaityti tuos kintamuosius. Jie nepaverčia bet kokio duomenų bazės lizdo HTTP tarpinio serverio srautu. Galinis taškas taip pat turi būti pasiekiamas iš konteinerio: jo 127.0.0.1 nurodo jį patį.

Pirmuoju atveju raskite Docker aplinką, kurią Testcontainers iš tikrųjų naudoja. Nuotolinė tarnyba arba Docker Desktop gali imti konfigūraciją iš kito šaltinio nei vietinė dockerd. Pridėdami platų tarpinio serverio numatytąjį nustatymą, palikite vietines testavimo paslaugas ir Docker API numatytuose maršrutuose.

Susiję straipsniai