Docker bridge कंटेनरमधून होस्टच्या प्रॉक्सीपर्यंत पोहोचणे
कंटेनरमधून पोहोचता येणारा प्रॉक्सी पत्ता निवडा आणि सार्वजनिक एंडपॉइंट व Docker होस्टवरील प्रॉक्सी यांतील फरक ओळखा.
सामान्य bridge नेटवर्कवरील कंटेनरमध्ये 127.0.0.1 हा कंटेनरचा स्वतःचा loopback पत्ता असतो. लॅपटॉपच्या localhost वर ऐकणारा प्रॉक्सी प्रत्येक कंटेनरमध्ये आपोआप ऐकत नाही.
यामुळे नेहमी दिसणारा फरक स्पष्ट होतो: तोच प्रॉक्सी URL होस्टच्या टर्मिनलमध्ये चालतो, पण कंटेनरमध्ये जोडणी नाकारली जाते. प्रत्येक ठिकाणी तो पत्ता वेगळ्या नेटवर्क एंडपॉइंटचा निर्देश करतो.
सार्वजनिक प्रॉक्सी थेट वापरता येतो
सेवा किंवा HTTP प्रॉक्सी यादीतून निवडलेला एंडपॉइंट खरोखर पोहोचता येणारा सार्वजनिक IP असेल, तर त्याला localhost मध्ये बदलण्याऐवजी तोच पत्ता अनुप्रयोगाला द्या:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
दस्तऐवजातील उदाहरणाचा पत्ता आणि इमेज बदला. इमेजमधील प्रोग्रामने या पर्यावरणीय चलांना तरीही समर्थन देणे आवश्यक आहे; चल अस्तित्वात आहेत म्हणून Docker प्रत्येक socket ला प्रॉक्सीद्वारे जाणाऱ्या विनंतीत बदलत नाही.
प्रॉक्सी Docker होस्टवर चालत असल्यास
होस्टच्या अंतर्गत पत्त्यापर्यंत पोहोचण्यासाठी Docker Desktop host.docker.internal पुरवतो. समर्थित नेटिव्ह Engine मांडणीत होस्ट मॅपिंग हे प्रचलित नाव देऊ शकते:
docker run --rm \
--add-host host.docker.internal=host-gateway \
-e HTTP_PROXY=http://host.docker.internal:8080 \
-e HTTPS_PROXY=http://host.docker.internal:8080 \
your-image
यामुळे नावाचे निराकरण बदलते; ही पोर्ट फॉरवर्डिंगची आज्ञा नाही. नेटिव्ह Linux वर फक्त होस्टच्या loopback ला बांधलेली सेवा होस्टच्या bridge पत्त्यावरून अजूनही अगम्य असू शकते. लिसनर, फायरवॉल आणि कंटेनरचा मार्ग यांनी जोडणीला परवानगी दिली पाहिजे. लिसनर बदलल्यास प्रमाणीकरणाविना खुला प्रॉक्सी तयार करण्याऐवजी प्रवेश हवा असलेल्या क्लायंटपुरता तो मर्यादित करा.
अनुप्रयोग असलेल्या ठिकाणाहूनच तपासा
होस्टवरील curl परिणाम फक्त होस्टचा मार्ग तपासतो. संबंधित विनंती कंटेनरच्या वातावरणातून पाठवून अपेक्षित एंडपॉइंटपर्यंत पोहोचते का तपासा.
‘होस्ट’ म्हणजे Docker Engine चालवणारे यंत्रही होय. दूरस्थ Engine असल्यास ते तुमचा लॅपटॉपच असेल असे नाही. त्यामुळे स्थानिक डेस्कटॉप अनुप्रयोगातून कॉपी केलेला loopback IP बदल न करता दूरस्थ builder किंवा सर्व्हरवर चालण्याची शक्यता विशेषतः कमी असते.
इमेज डाउनलोडच्या समस्या वेगळ्या ठेवा: अनुप्रयोग वरील वातावरण वापरू शकण्याआधी daemon इमेज डाउनलोड करतो.