Testcontainers withEnv تصویر کی پل کو پروکسی کیوں نہیں کرتا
ناکام پل کے لیے Docker ڈیمن تشکیل کریں؛ کنٹینر کے پروکسی متغیرات کنٹینر بننے کے بعد ہی پروگراموں تک پہنچتے ہیں۔
اگر 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 کو اُن کے مطلوبہ راستوں پر رکھیں۔