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. Container Runtime | docker run -e HTTP_PROXY=... বা Compose environment: | নির্দিষ্ট কন্টেইনারের ভেতরের অ্যাপ থেকে তৈরি হওয়া ট্রাফিক |
2. Image Build (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | বিল্ডের সময় প্যাকেজ ম্যানেজার ডাউনলোড (apt, pip, npm) |
3. Docker Daemon (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 ফরম্যাটে সাজান
আমাদের 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টি আলাদা প্রক্সি অ্যাসাইন করতে পারি?
হ্যাঁ। প্রতিটি কন্টেইনার সার্ভিসকে তার নিজস্ব http://user:pass@ip:port স্ট্রিং দিয়ে সংজ্ঞায়িত করুন (বা আলাদা .env ভ্যারিয়েবল পাস করুন)।
কেন বড় হাতের এবং ছোট হাতের উভয় প্রক্সি ভ্যারিয়েবল সেট করতে হবে?
কিছু Linux লাইব্রেরি (যেমন libcurl) প্রথমে ছোট হাতের http_proxy / https_proxy চেক করে, অন্যদিকে Go এবং Node টুলগুলো প্রায়ই বড় হাতের HTTP_PROXY / HTTPS_PROXY চেক করে।
প্রতিটি Docker কন্টেইনারে ডেডিকেটেড স্ট্যাটিক IP অ্যাসাইন করুন
7টি দেশে ইনস্ট্যান্ট আনমিটারড Dedicated IPv4 এবং Static ISP প্রক্সি।
Docker প্রক্সি কিনুন