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 ले आफैंलाई सन्दर्भ गर्छ।
पहिलो अवस्थाका लागि, Testcontainers ले वास्तवमै प्रयोग गर्ने Docker वातावरण खोज्नुहोस्। टाढाको डेमन वा Docker Desktop ले स्थानीय dockerd भन्दा फरक स्रोतबाट कन्फिगरेसन लिन सक्छ। व्यापक प्रोक्सी पूर्वनिर्धारित थप्दा स्थानीय परीक्षण सेवा र Docker API लाई तिनका इच्छित मार्गमा राख्नुहोस्।