Եթե Testcontainers-ը ձախողվում է պատկեր ներբեռնելիս, ապագա կոնտեյների withEnv կարգավորումները չեն կարող օգնել։ Այդ ներբեռնումը գրանցամատյանից կատարում է Docker դեմոնը, նախքան կոնտեյների գոյությունը։

Ձախողված գործողությունՍտուգվող պրոքսի կարգավորում
Պատկերի ներբեռնումDocker դեմոնը, որն օգտագործում է թեստը, և նրա ուղին դեպի գրանցամատյան
Ներբեռնում աշխատող կոնտեյների ներսումԾրագրի աջակցվող մուտքերը այդ կոնտեյներում
Java թեստը միանում է Docker-ին կամ ծրագրինJava հաճախորդը, որը կատարում է այդ միացումը

Երկրորդ դեպքի համար ավելացրեք միջավայրի փոփոխականներ գոյություն ունեցող GenericContainer սահմանմանը.

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

Եթե կոնտեյների ներսում ներբեռնմանը թույլատրվում է օգտագործել հանրային HTTP վերջնակետ, լրացրեք այդ արժեքները HTTP պրոքսիների ցանկից։ Պատկերի ծրագիրը պետք է կարդա այդ փոփոխականները։ Դրանք կամայական տվյալների բազայի սոքեթը չեն վերածում HTTP պրոքսի երթևեկության։ Վերջնակետը պետք է հասանելի լինի նաև կոնտեյներից. նրա 127.0.0.1 ցույց է տալիս իրեն։

Առաջին դեպքի համար գտեք այն Docker միջավայրը, որն իրականում օգտագործում է Testcontainers-ը։ Հեռավոր դեմոնը կամ Docker Desktop-ը կարող են կարգավորումը վերցնել տեղական dockerd-ից տարբեր աղբյուրից։ Լայն պրոքսի լռելյայն ավելացնելիս պահեք տեղական թեստային ծառայությունները և Docker API-ն իրենց նախատեսված ուղիներում։

Առնչվող հոդվածներ