एक आभासी मशीन के अंदर चल रहे कंटेनर?


15

यह मेरी समझ है कि कंटेनर VMs की तुलना में बहुत अधिक हल्के होते हैं क्योंकि वे हार्डवेयर का वर्चुअलाइजेशन नहीं करते हैं, बल्कि सिस्टम में अन्य कंटेनरों में चल रहे सॉफ़्टवेयर से बस उनमें चल रहे सॉफ़्टवेयर को अलग कर देते हैं।

मेरी स्थिति ऐसी है कि मैं अतिरिक्त सर्वर खरीदने का जोखिम नहीं उठा सकता, और मेरे पास जो सर्वर हैं वे सभी हाइपरवाइज़र चला रहे हैं। मुझे अपेक्षाकृत छोटे वेब एप्लिकेशन के उदाहरणों को होस्ट करने के लिए कम से कम 6 "सर्वर" का प्रावधान करने की आवश्यकता है (प्रत्येक उदाहरण एक अलग ग्राहक के लिए है)। इनमें से प्रत्येक सर्वर के लिए एक नए वीएम का प्रावधान करना व्यर्थ होगा, इसलिए मैं 2 वीएम सेट करने की योजना बनाता हूं और निम्न में से एक कर सकता हूं:

  1. वर्चुअल होस्ट (अपाचे) का उपयोग करके प्रत्येक वीएम पर एप्लिकेशन के कई उदाहरण चलाएं। या
  2. VMs पर कंटेनर सेट करें जो मुझे पर्यावरण को अलग करने की अनुमति देगा।

इस पर विचार करते हुए, क्या कंटेनर सिस्टम से जुड़ा एक गैर-नगण्य ओवरहेड है जो इसे एक वीएम के अंदर उपयोग करने के लिए एक बुरा विचार बना देगा, या कोई अन्य तकनीकी कारण है कि मैं कंटेनरों का उपयोग क्यों नहीं करना चाहूंगा?

जवाबों:


13

डॉकटर एक वीएम की तुलना में बहुत हल्का है और एक वीएम सिस्टम को बस ठीक चलने वाले कंटेनरों को कार्य करना चाहिए। प्रत्येक कंटेनर अनिवार्य रूप से एक पृथक प्रणाली के रूप में चलता है, इसलिए यह प्रणाली स्थिरता के दृष्टिकोण से अलगाव के लिए बहुत अच्छा है। आपके विवरण के आधार पर यह डॉकर के लिए आदर्श उपयोग के मामले जैसा लगता है। यदि आप डॉकर के साथ प्रयोग करते हैं, तो सुनिश्चित करें कि आप नवीनतम संस्करण का उपयोग करना चाहते हैं, उनमें से कुछ पुराने में कुछ काफी कमजोर कमजोरियां हैं। डॉकर चलाते समय कुछ सुरक्षा विचार हैं।

SELinux - SELinux कंटेनर के बारे में पता है, और स्वचालित रूप से प्रत्येक कंटेनर के लिए एक बेतरतीब ढंग से नामित MCS लेबल बनाएगा। यह अलगाव को सुनिश्चित करने में मदद करता है क्योंकि LXC कंटेनरों को वास्तव में "अपने आप से" नहीं माना जाता है, हालांकि इसमें सुधार हो रहा है।

USER Directive - प्रत्येक Dockerfile में USER निर्देश का उपयोग करने के लिए सर्वोत्तम अभ्यास की सिफारिश की जाती है और उपयोगकर्ता को रूट के अलावा एक खाते के रूप में चलाया जाता है, डिफ़ॉल्ट। यहाँ पकड़ उपयोगकर्ता प्रणाली पर मौजूद होना चाहिए। यह इस नए उपयोगकर्ता के लिए चॉइसिंग / चामोडिंग फ़ाइलों और निर्देशिकाओं को निराश करने वाला हो सकता है, लेकिन यह आपके जोखिम को कम करने में मदद करता है। मैं आमतौर पर सुझाव देता हूं कि आप अपने सिस्टम पर "कंटेनरसुअर" या ऐसा कुछ बनाएं जो यह सुनिश्चित करने में मदद करे कि एक आम उपयोगकर्ता सभी प्रणालियों पर उपलब्ध है जो सिस्टम के किसी अन्य भाग के साथ ओवरलैप नहीं करता है।

अन्यथा सबसे कठिन हिस्सा कंटेनरों का प्रबंधन कर रहा है और आवश्यक होने पर उन्हें अपडेट कर रहा है।


3

क्या कंटेनर सिस्टम से जुड़ा एक गैर-नगण्य ओवरहेड है जो इसे एक वीएम के अंदर उपयोग करने के लिए एक बुरा विचार बना देगा

क्या डोकर कंटेनरों प्रदर्शन VMware vSphere में आपको मदद की?

या कोई अन्य तकनीकी कारण है कि मैं कंटेनरों का उपयोग क्यों नहीं करना चाहूंगा?

मैं डॉकटर के बारे में सामान्य रूप से नहीं जानता क्योंकि मैंने अभी तक इसके साथ काम नहीं किया है। मुझे लगता है कि VM सॉफ़्टवेयर सॉफ़्टवेयर की तुलना में प्रबंधन सॉफ़्टवेयर में अभी भी परिपक्वता नहीं है ... लेकिन मैं एक vsphere व्यवस्थापक हूं और इसलिए शायद पक्षपाती हूं।

वीएम पर डॉकर को ध्यान में रखते हुए, कोरओएस अब आधिकारिक तौर पर vSphere 5.5 पर समर्थित है । तो कम से कम VMware सोचता है कि VMs पर डॉकटर / कंटेनर ठीक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.