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 क्लाइंट का प्रॉक्सी समर्थन जाँचें। परिवेश इंजेक्शन कॉन्फ़िगरेशन देता है; एप्लिकेशन को उसका उपयोग करना होगा।