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 क्लाइन्टको प्रोक्सी समर्थन जाँच्नुहोस्। वातावरण इन्जेक्सनले कन्फिगरेसन दिन्छ; एप्लिकेसनले त्यसलाई प्रयोग गर्नुपर्छ।