Nega Testcontainers withEnv tasvir tortishni proksi orqali o'tkazmaydi
Muvaffaqiyatsiz tortish uchun Docker demonini sozlang; konteynerning proksi o'zgaruvchilari programmalarga faqat konteyner yaratilgandan keyin yetib boradi.
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 amal | Tekshiriladigan proksi sozlamasi |
|---|---|
| Tasvir tortish | Test ishlatadigan Docker demoni va uning reyestrga yo'li |
| Ishlayotgan konteyner ichidagi yuklab olish | O'sha konteynerda ilova qo'llab-quvvatlaydigan kiritmalar |
| Java testi Docker yoki ilovaga ulanadi | Bu 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.