Docker में प्रॉक्सी कैसे सेट करें (कंटेनर, Compose और बिल्ड)
अपडेट किया गया:
एकल होस्ट सर्वर पर मल्टी-कंटेनर स्क्रैपर, ऑटोमेशन वर्कर या DePIN नोड्स चलाते समय, प्रत्येक कंटेनर में HTTP_PROXY और HTTPS_PROXY पर्यावरण चर पास करने से प्रत्येक सेवा होस्ट मशीन की रूटिंग टेबल में बदलाव किए बिना VinaProxy के अपने समर्पित स्थिर IPv4 पते के माध्यम से बाहर निकल सकती है।
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
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 नियम
- बड़े अक्षरों (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) और छोटे अक्षरों (http_proxy,https_proxy,no_proxy) दोनों चर सेट करें ताकि सभी Linux CLI टूल और रनटाइम उन्हें पहचान सकें - हमेशा आंतरिक Docker Compose सेवा नामों की सूची बनाएं (जैसे,
NO_PROXY=localhost,127.0.0.1,redis,postgres) ताकि कंटेनरों के बीच का ट्रैफ़िक स्थानीय ब्रिज नेटवर्क पर ही रहे - सार्वजनिक इमेज के
DockerfileमेंENVका उपयोग करके प्रॉक्सी पासवर्ड कभी हार्डकोड न करें—उन्हें रनटाइम पर.envयाdocker-compose.ymlके माध्यम से इंजेक्ट करें
स्टेप बाय स्टेप
- 1
अपने प्रॉक्सी को http://user:pass@ip:port के रूप में स्वरूपित करें
हमारे प्रॉक्सी प्रारूप कनवर्टर का उपयोग करके अपनी 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 अलग-अलग प्रॉक्सी असाइन कर सकता हूँ?
हाँ। प्रत्येक कंटेनर सेवा को उसकी अपनी http://user:pass@ip:port स्ट्रिंग के साथ परिभाषित करें (या अलग .env चर पास करें)।
अपरकेस और लोअरकेस दोनों प्रॉक्सी चर क्यों सेट करें?
कुछ Linux लाइब्रेरीज़ (जैसे libcurl) पहले लोअरकेस http_proxy / https_proxy की जांच करती हैं, जबकि Go और Node टूल अक्सर अपरकेस HTTP_PROXY / HTTPS_PROXY की जांच करते हैं।
प्रत्येक Docker कंटेनर को समर्पित स्थिर IP असाइन करें
7 देशों में त्वरित असीमित समर्पित IPv4 और स्थिर ISP प्रॉक्सी।
Docker प्रॉक्सी खरीदें