नगीनक्स के साथ PHP आमतौर पर php-fpm का उपयोग करके किया जाता है जो एक अलग प्रक्रिया है।
एक प्रक्रिया के कर्ता के मूल विचार को ध्यान में रखते हुए (इस बिंदु पर अधिक विवरण के लिए उत्तर का अंत देखें) प्रति कंटेनर में यह अलग-अलग कंटेनरों में नगीनक्स प्रक्रिया और php-fpm प्रक्रिया है।
के रूप में nginx और php-fpm के बीच संचार fastcgi के माध्यम से उठता है php-fpm कंटेनर एक अलग मेजबान पर भी हो सकता है और यह nginx के पीछे php-fpm कंटेनरों के क्लस्टर का उपयोग करने की अनुमति देता है।
यहां टिप्पणी की दीवार के बाद थोड़ा और पृष्ठभूमि है, डॉक प्रलेखन में इस विचार के बारे में पैराग्राफ है कि एक कंटेनर में केवल एक ही चिंता होनी चाहिए ।
एक लिनक्स कंटेनर ( lxc ) का मुख्य विचार सीपीयू और मेमोरी स्तर पर एक अलग नामस्थान में एक प्रक्रिया को चलाने के लिए है, फाइलक स्तर पर इस अलगाव के शीर्ष पर docker जोड़ते हैं।
लाभ यह है कि इस नाम स्थान के भीतर एक प्रक्रिया का समझौता अन्य प्रक्रियाओं की स्मृति को पढ़ने की अनुमति नहीं देगा और इस तरह से मेजबान पर अन्य समझौता को रोकना चाहिए।
जबकि nginx और php-fpm के बारे में बात करते हैं, वे जोड़ी में काम करते हैं, लेकिन प्रत्येक की अपनी चिंता है, nginx HTTP भाग, रूटिंग, हेडर सत्यापन, आदि करेगा और php-fpm कोड की व्याख्या करेगा और html भाग को nginx में लौटाएगा। । हालांकि यह सामान्य है कि दोनों को एक साथ एक ही सेवा प्रदान करना अनिवार्य नहीं है।
संदर्भ के आधार पर, एक कंटेनर के लिए एक आवेदन के लिए पूरे स्टैक सहित आसान हो सकता है, उदाहरण के लिए एक डेवलपर वर्कस्टेशन पर। लेकिन आदर्श रूप से उत्पादन के उपयोग के लिए, कंटेनर के अंदर कम बातचीत को रखने की कोशिश करें, पर्यवेक्षक के साथ एक ही कंटेनर में अलग-अलग प्रक्रियाएं होने से ज़ोंबी प्रक्रिया और लॉग हैंडलिंग ( केवल चित्रण के उद्देश्य के लिए यहां उत्कृष्ट कहानी ) में समस्या का अपना हिस्सा लाता है ।
तो अंत में मैं कुछ जोर देने के साथ docker पेज को उद्धृत करूँगा:
जबकि "प्रति कंटेनर एक प्रक्रिया" अक्सर अंगूठे का एक अच्छा नियम है, यह एक कठिन और तेज़ नियम नहीं है। कंटेनरों को यथासंभव स्वच्छ और मॉड्यूलर रखने के लिए अपने सर्वोत्तम निर्णय का उपयोग करें ।
कोई "सिल्वर बुलेट नियम" नहीं है जो सब कुछ पर लागू होता है, यह हमेशा कंटेनर के भीतर जटिलता और कंटेनरों की खुद को ऑर्केस्ट्रेट करने वाली जटिलता के बीच संतुलन होता है।