Docker मा प्रोक्सी कसरी सेटअप गर्ने (Containers, Compose र Builds)
Updated:
एउटै होस्ट सर्भरमा मल्टि-कन्टेनर स्क्र्यापरहरू, अटोमेसन वर्करहरू वा DePIN नोडहरू चलाउँदा, प्रत्येक कन्टेनरमा HTTP_PROXY र HTTPS_PROXY इन्भायरमेन्ट भेरिएबलहरू पठाउनाले होस्ट मेसिनको राउटिङ तालिका परिवर्तन नगरी प्रत्येक सेवालाई VinaProxy बाट आफ्नै डेडिकेटेड स्ट्याटिक IPv4 ठेगानामार्फत बाहिर निस्कन दिन्छ।
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP₫ ४०,०००
- 5+ IP हरू₫ ३५,०००
- 10+ IP हरू₫ २५,०००
- 20+ IP हरू₫ २५,०००
- 50+ IP हरू₫ २५,०००
- 100+ IP हरू₫ २५,०००
- 200+ IP हरू₫ २५,०००
- 500+ IP हरू₫ २५,०००
- 1000+ IP हरू₫ २२,०००
- 2000+ IP हरू₫ २०,०००
- 1 IP₫ ४०,०००
- 5+ IP हरू₫ ३५,०००
- 10+ IP हरू₫ २५,०००
- 20+ IP हरू₫ २५,०००
- 50+ IP हरू₫ २५,०००
- 100+ IP हरू₫ २५,०००
- 200+ IP हरू₫ २५,०००
- 500+ IP हरू₫ २५,०००
- 1000+ IP हरू₫ २२,०००
- 2000+ IP हरू₫ २०,०००
Docker का 3 प्रोक्सी कन्फिगरेसन स्कोपहरू बुझ्दै
Docker ले कन्टेनर रनटाइम ट्राफिक, इमेज बिल्ड ट्राफिक, र डेमन रजिस्ट्री पुलहरूलाई अलग गर्दछ:
| Docker स्कोप | कहाँ कन्फिगर गर्ने | यसले के रूट गर्छ |
|---|---|---|
| 1. कन्टेनर रनटाइम | docker run -e HTTP_PROXY=... वा Compose को environment: | त्यो निर्दिष्ट कन्टेनर भित्रको एपद्वारा उत्पन्न ट्राफिक |
2. इमेज बिल्ड (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | बिल्डको समयमा प्याकेज म्यानेजर डाउनलोडहरू (apt, pip, npm) |
3. Docker डेमन (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | रजिस्ट्रीहरूमा जाने docker pull र docker push अनुरोधहरू |
Docker Compose का उत्तम अभ्यासहरू र NO_PROXY नियमहरू
- सबै Linux CLI उपकरणहरू र ल्याङ्ग्वेज रनटाइमहरूले पहिचान गर्न सकुन् भनेर ठूलो अक्षर (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) र सानो अक्षर (http_proxy,https_proxy,no_proxy) दुवै भेरिएबलहरू सेट गर्नुहोस् - आन्तरिक Docker Compose सेवा नामहरू सधैं सूचीबद्ध गर्नुहोस् (जस्तै,
NO_PROXY=localhost,127.0.0.1,redis,postgres) ताकि कन्टेनरहरू बीचको ट्राफिक स्थानीय ब्रिज नेटवर्कमै रहोस् Dockerfileभित्रENVप्रयोग गरी सार्वजनिक इमेजहरूमा कहिल्यै प्रोक्सी पासवर्ड नराख्नुहोस्—ती रनटाइममा.envवाdocker-compose.ymlमार्फत इन्जेक्ट गर्नुहोस्
चरणबद्ध प्रक्रिया
- 1
आफ्नो प्रोक्सीलाई http://user:pass@ip:port को रूपमा ढाँचा मिलाउनुहोस्
हाम्रो Proxy Format Converter प्रयोग गरी आफ्नो VinaProxy को
ip:port:user:passलाइनलाई रूपान्तरण गर्नुहोस्। - 2
docker-compose.yml मा इन्भायरमेन्ट भेरिएबलहरू थप्नुहोस्
आफ्नो सेवाको
environment:अन्तर्गत,HTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxy, रNO_PROXY=localhost,127.0.0.1,redis,dbपरिभाषित गर्नुहोस्। - 3
कन्टेनर सुरु गर्नुहोस् वा पुन: सिर्जना गर्नुहोस्
इन्भायरमेन्ट भेरिएबलहरू लागू गर्न
docker compose up -dचलाउनुहोस्। - 4
कन्टेनर भित्रबाट एक्जिट IP प्रमाणित गर्नुहोस्
कन्टेनर तपाईंको प्रोक्सी IP मार्फत बाहिर निस्कन्छ भनी पुष्टि गर्न
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipचलाउनुहोस्।
बारम्बार सोधिने प्रश्नहरू
HTTP_PROXY सेट गरेपछि मेरो कन्टेनरले मेरो Redis वा Postgres कन्टेनरमा किन पहुँच गर्न सक्दैन?
NO_PROXY बिना, तपाईंको HTTP क्लाइन्टले बाह्य प्रोक्सीमार्फत redis वा db जस्ता आन्तरिक सेवा नामहरूमा पुग्न खोज्छ। आन्तरिक ब्रिज होस्टहरूका लागि प्रोक्सी बाइपास गर्न NO_PROXY=localhost,127.0.0.1,redis,db (र सानो अक्षरमा no_proxy) थप्नुहोस्।
के म एउटा VPS मा 20 कन्टेनरहरूलाई 20 फरक प्रोक्सीहरू असाइन गर्न सक्छु?
सकिन्छ। प्रत्येक कन्टेनर सेवालाई (वा अलग .env भेरिएबलहरू पास गरी) आफ्नै http://user:pass@ip:port स्ट्रिङसहित परिभाषित गर्नुहोस्।
ठूलो र सानो अक्षर दुवै प्रोक्सी भेरिएबलहरू किन सेट गर्ने?
केही Linux लाइब्रेरीहरूले (जस्तै libcurl) पहिले सानो अक्षरको http_proxy / https_proxy जाँच गर्छन्, जबकि Go र Node उपकरणहरूले प्रायः ठूलो अक्षरको HTTP_PROXY / HTTPS_PROXY जाँच गर्छन्।
प्रत्येक Docker कन्टेनरलाई डेडिकेटेड स्ट्याटिक IP हरू असाइन गर्नुहोस्
7 देशहरूमा तत्काल अनमिटर्ड Dedicated IPv4 र Static ISP प्रोक्सीहरू।
Docker प्रोक्सीहरू किन्नुहोस्