Agar Testcontainers tasvirni tortish paytida muvaffaqiyatsiz bo'lsa, kelgusi konteynerning withEnv sozlamalari yordam bera olmaydi. Bu yuklab olishni reyestrdan konteyner mavjud bo'lishidan oldin Docker demoni bajaradi.

Muvaffaqiyatsiz amalTekshiriladigan proksi sozlamasi
Tasvir tortishTest ishlatadigan Docker demoni va uning reyestrga yo'li
Ishlayotgan konteyner ichidagi yuklab olishO'sha konteynerda ilova qo'llab-quvvatlaydigan kiritmalar
Java testi Docker yoki ilovaga ulanadiBu ulanishni amalga oshiradigan Java mijozi

Ikkinchi holat uchun mavjud GenericContainer ta'rifiga muhit o'zgaruvchilarini qo'shing:

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

Agar konteyner ichidagi yuklab olishga ochiq HTTP so'nggi nuqtasidan foydalanishga ruxsat berilgan bo'lsa, bu qiymatlarni HTTP proksi ro'yxatidan to'ldiring. Tasvirdagi programma o'sha o'zgaruvchilarni o'qishi kerak. Ular ixtiyoriy ma'lumotlar bazasi soketini HTTP proksi trafigiga aylantirmaydi. So'nggi nuqta ham konteynerdan yetib boriladigan bo'lishi kerak: uning 127.0.0.1 o'ziga ishora qiladi.

Birinchi holat uchun Testcontainers haqiqatda ishlatadigan Docker muhitini toping. Uzoq demon yoki Docker Desktop sozlamani mahalliy dockerd dan boshqa manbadan olishi mumkin. Keng proksi standart qiymatini qo'shayotganda mahalliy test xizmatlari va Docker API ni o'z mo'ljallangan yo'llarida saqlang.

O'xshash maqolalar