কন্টেইনারে Compose প্রক্সি ভেরিয়েবল পাঠানো
প্রজেক্টের .env ফাইল স্বয়ংক্রিয়ভাবে ইনজেক্ট করবে ধরে না নিয়ে প্রক্সি ভেরিয়েবলগুলোকে Compose সার্ভিস এনভায়রনমেন্টের অংশ করুন।
Compose-এর প্রকল্প ফাইল .env ইন্টারপোলেশনের মান সরবরাহ করে। সেই মানগুলোর একটি কন্টেইনারে দিতে হলে সার্ভিস কনফিগারেশনে এটির রেফারেন্স দিন।
উদাহরণস্বরূপ, .env প্রক্সি এন্ডপয়েন্ট ধারণ করে:
HTTP_PROXY=http://203.0.113.10:8080
সার্ভিসটি এটি HTTP ও HTTPS উভয় গন্তব্যের অনুরোধে ব্যবহার করে:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
ডকুমেন্টেশন ঠিকানা ও ইমেজ প্রতিস্থাপন করুন; আপনার সার্ভিস বা HTTP প্রক্সি তালিকা থেকে সামঞ্জস্যপূর্ণ HTTP এন্ডপয়েন্ট বেছে নিন। একটি সাধারণ HTTP প্রক্সি অনুরোধ করা টানেল সমর্থন করলে HTTPS CONNECT-এর মাধ্যমে বহন করতে পারে।
স্পষ্ট env_file এন্ট্রি নির্বাচিত ফাইলের ভেরিয়েবল সার্ভিসে পাঠানোর আরেকটি উপায়। প্রকল্পের ইন্টারপোলেশন ফাইল কন্টেইনারের অন্তর্নিহিত env_file হিসেবে কাজ করে না।
অ্যাপ্লিকেশন পর্যন্ত কী পৌঁছেছে তা যাচাই করা
docker compose config সমাধানকৃত সার্ভিস কনফিগারেশন দেখায়। docker compose config --environment বদলে ইন্টারপোলেশনে ব্যবহৃত মানগুলো দেখায়।
সার্ভিস এনভায়রনমেন্টের সঙ্গে অ্যাপ্লিকেশন প্রসেস তুলনা করুন। আপনি .env সম্পাদনা করলে চলমান কন্টেইনার নতুন মান পায় না; নির্ধারিত Compose জীবনচক্রের মাধ্যমে পরিবর্তন প্রয়োগ করুন, সার্ভিস সাময়িক বন্ধ হওয়ার সম্ভাবনা ধরে নিয়ে।
ভেরিয়েবল অনুপস্থিত থাকলে সার্ভিস কনফিগারেশন ঠিক করুন। এটি থাকা সত্ত্বেও অনুরোধ সরাসরি গেলে HTTP ক্লায়েন্টের প্রক্সি সমর্থন যাচাই করুন। এনভায়রনমেন্ট ইনজেকশন কনফিগারেশন দেয়; অ্যাপ্লিকেশনকে তা ব্যবহার করতে হবে।