সাধারণ 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 রিমোট বিল্ডার বা সার্ভারে অপরিবর্তিতভাবে কাজ করার সম্ভাবনা বিশেষভাবে কম।

ইমেজ ডাউনলোডের সমস্যা আলাদা রাখুন: অ্যাপ্লিকেশন ওপরের পরিবেশ ব্যবহার করতে পারার আগেই ডেমন ইমেজ ডাউনলোড করে।

সম্পর্কিত নিবন্ধ