डॉकर वास्तुकला: यह महत्वपूर्ण क्यों है?



यह ब्लॉग docker वास्तुकला और इसके विभिन्न घटकों पर चर्चा करता है। यह डॉकटर विशेषताओं पर प्रकाश डालता है जो हमें इसकी लोकप्रियता का कारण बताता है।

हम में से बहुत से लोग मानते हैं कि डॉकर इसका एक अभिन्न हिस्सा है । तो इस अविश्वसनीय उपकरण के पीछे, एक अद्भुत वास्तुकला होना चाहिए। इस ब्लॉग में, मैं वह सब कुछ शामिल करूंगा जो आपको डोकर वास्तुकला के बारे में पता होना चाहिए। ये वे बिंदु हैं जिन पर मैं यहां चर्चा करूंगा:

  1. पारंपरिक वर्चुअलाइजेशन बनाम डॉकर
  2. डॉकर का वर्कफ़्लो
  3. डॉकर वास्तुकला

पारंपरिक वर्चुअलाइजेशन बनाम डॉकर

VM (वर्चुअल मशीन) क्या है?

VM एक वर्चुअल सर्वर है जो एक हार्डवेयर सर्वर का अनुकरण करता है। वर्चुअल मशीन सिस्टम के भौतिक हार्डवेयर पर निर्भर करती है ताकि आप उसी वातावरण का अनुकरण कर सकें जिसमें आप अपने एप्लिकेशन इंस्टॉल करते हैं। आपके उपयोग के मामले के आधार पर, आप एक सिस्टम वर्चुअल मशीन का उपयोग कर सकते हैं (जो एक प्रक्रिया के रूप में एक संपूर्ण ओएस चलाता है, जिससे आप वर्चुअल मशीन के लिए एक वास्तविक मशीन का विकल्प दे सकते हैं), या वर्चुअल मशीन को संसाधित करें जो आपको वर्चुअल में अकेले कंप्यूटर एप्लिकेशन निष्पादित करने दें वातावरण।





इससे पहले, हम वर्चुअल मशीन बनाते थे, और प्रत्येक वीएम में एक ओएस होता था जो बहुत अधिक जगह लेता था और इसे भारी बनाता था।

डॉकटर क्या है?

डॉकर एक ओपन-सोर्स प्रोजेक्ट है जो कंटेनर के रूप में जाना जाने वाला सॉफ़्टवेयर डेवलपमेंट समाधान प्रदान करता है। डॉकटर को समझने के लिए, आपको यह जानना होगा कि कंटेनर क्या हैं। के अनुसार डॉकटर , कंटेनर एक हल्के, स्टैंड-अलोन, सॉफ्टवेयर के एक टुकड़े के निष्पादन योग्य पैकेज है जिसमें इसे चलाने के लिए आवश्यक सभी चीजें शामिल हैं।



कंटेनर प्लेटफ़ॉर्म-स्वतंत्र हैं और इसलिए डॉकर विंडोज और लिनक्स-आधारित प्लेटफ़ॉर्म दोनों पर चल सकते हैं। वास्तव में, डॉकर को वर्चुअल मशीन के भीतर भी चलाया जा सकता है, अगर ऐसा करने की आवश्यकता होती है। Docker का मुख्य उद्देश्य यह है कि यह आपको वितरित आर्किटेक्चर में microservice एप्लिकेशन चलाने देता है।

वर्चुअल मशीनों की तुलना में, डॉकर प्लेटफ़ॉर्म हार्डवेयर स्तर से ऑपरेटिंग सिस्टम स्तर तक संसाधनों के अमूर्तन को आगे बढ़ाता है। यह कंटेनर के विभिन्न लाभों की प्राप्ति के लिए अनुमति देता है उदा। अनुप्रयोग पोर्टेबिलिटी, इंफ्रास्ट्रक्चर जुदाई, और स्व-निहित माइक्रोसर्विसेज।

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



vm बनाम डॉकटर - docker आर्किटेक्चर - edureka

डॉकर का वर्कफ़्लो

सबसे पहले, आइए हम डॉकर इंजन और इसके घटकों पर एक नज़र डालते हैं ताकि हमें यह पता चले कि सिस्टम कैसे काम करता है। डॉकर इंजन आपको निम्नलिखित घटकों का उपयोग करके अनुप्रयोगों को विकसित करने, इकट्ठा करने, जहाज चलाने और चलाने की अनुमति देता है:

  1. डॉकर डेमन : एक निरंतर पृष्ठभूमि प्रक्रिया जो डॉकर छवियों, कंटेनरों, नेटवर्क और भंडारण संस्करणों का प्रबंधन करती है। डोकर डेमॉन लगातार डॉकर एपीआई अनुरोधों को सुनता है और उन्हें संसाधित करता है।

    c में राउंड रॉबिन शेड्यूलिंग एल्गोरिदम
  2. डॉकर इंजन रीस्ट एपीआई : एक एपीआई का उपयोग अनुप्रयोगों द्वारा डॉकर डेमन के साथ बातचीत करने के लिए किया जाता है। इसे एक HTTP क्लाइंट द्वारा एक्सेस किया जा सकता है।

  3. डॉकटर सी.एल.आई. : डॉकर डेमन के साथ बातचीत के लिए एक कमांड-लाइन इंटरफ़ेस क्लाइंट। यह महत्वपूर्ण रूप से सरल करता है कि आप कंटेनर इंस्टेंसेस को कैसे प्रबंधित करते हैं और यह एक प्रमुख कारण है कि डेवलपर्स डोकर का उपयोग क्यों करते हैं।

सबसे पहले, डॉकर क्लाइंट डोकर डेमॉन से बात करता है, जो बिल्डिंग के भारी उठाने, दौड़ने के साथ-साथ हमारे डॉकर कंटेनरों को वितरित करता है। मौलिक रूप से, डॉकर क्लाइंट और डेमन दोनों एक ही सिस्टम पर चल सकते हैं। हम एक डॉकर क्लाइंट को भी कनेक्ट कर सकते हैंरिमोट डॉकर डेमॉन। इसके अलावा, एक REST API का उपयोग करके, Docker क्लाइंट और डेमॉन, संवाद, UNIX सॉकेट या नेटवर्क इंटरफ़ेस पर।

डॉकर वास्तुकला

डॉकर की वास्तुकला एक क्लाइंट-सर्वर मॉडल का उपयोग करती है और इसमें डॉकर के क्लाइंट, डॉकर होस्ट, नेटवर्क और स्टोरेज घटक और डॉकर रजिस्ट्री / हब शामिल होते हैं। आइए इनमें से प्रत्येक पर कुछ विस्तार से देखें।

डॉकर का ग्राहक

डॉक उपयोगकर्ता एक ग्राहक के माध्यम से डॉकर के साथ बातचीत कर सकते हैं। जब कोई भी डॉक कमांड चलता है, तो क्लाइंट उन्हें डॉकडैम डेमॉन में भेजता है, जो उन्हें बाहर ले जाता है। Docker API का उपयोग Docker कमांड द्वारा किया जाता है। डॉकर क्लाइंट के लिए एक से अधिक डेमॉन के साथ संवाद करना संभव है।

डॉकर होस्ट

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

डॉकटर ऑब्जेक्ट्स

1. छवियाँ

छवियां कुछ भी नहीं हैं केवल पढ़ने के लिए बाइनरी टेम्पलेट है जो कंटेनरों का निर्माण कर सकते हैं। इनमें मेटाडेटा भी होता है जो कंटेनर की क्षमताओं और जरूरतों का वर्णन करता है। छवियों का उपयोग अनुप्रयोगों को संग्रहीत और शिप करने के लिए किया जाता है। एक छवि का उपयोग कंटेनर के निर्माण के लिए किया जा सकता है या वर्तमान कॉन्फ़िगरेशन को विस्तारित करने के लिए अतिरिक्त तत्वों को जोड़ने के लिए अनुकूलित किया जा सकता है।

आप एक निजी कंटेनर रजिस्ट्री की मदद से एक उद्यम के भीतर टीमों में कंटेनर की छवियों को साझा कर सकते हैं, या डोकर हब जैसी सार्वजनिक रजिस्ट्री का उपयोग करके दुनिया के साथ साझा कर सकते हैं। छवियाँ डॉकर अनुभव का मुख्य तत्व हैं क्योंकि वे डेवलपर्स के बीच सहयोग को इस तरह से सक्षम करते हैं जो पहले संभव नहीं था

2. कंटेनर

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

आप कंटेनर की वर्तमान स्थिति के आधार पर एक नई छवि भी बना सकते हैं। चूंकि कंटेनर VMs की तुलना में बहुत छोटे होते हैं, इसलिए वे सेकंड के एक मामले में घूम सकते हैं, और बहुत बेहतर सर्वर घनत्व के परिणामस्वरूप

3. नेटवर्क

डॉकर नेटवर्किंग एक मार्ग है जिसके माध्यम से सभी पृथक कंटेनर संचार करते हैं। Docker में मुख्य रूप से पाँच नेटवर्क ड्राइवर हैं:

    1. पुल : यह एक कंटेनर के लिए डिफ़ॉल्ट नेटवर्क ड्राइवर है। आप इस नेटवर्क का उपयोग तब करते हैं जब आपका एप्लिकेशन स्टैंडअलोन कंटेनरों पर चल रहा होता है, यानी कई कंटेनर एक ही docker होस्ट के साथ संचार करते हैं।

    2. मेज़बान : यह ड्राइवर डॉक कंटेनर और डॉक होस्ट के बीच नेटवर्क अलगाव को हटाता है। जब आप होस्ट और कंटेनर के बीच किसी भी नेटवर्क अलगाव की आवश्यकता नहीं है, तो आप इसका उपयोग कर सकते हैं

    3. ओवरले : यह नेटवर्क एक दूसरे के साथ संवाद करने के लिए झुंड सेवाओं को सक्षम बनाता है। आप इसका उपयोग तब करते हैं जब आप चाहते हैं कि कंटेनर अलग-अलग डॉकर मेजबानों पर चलें या जब आप कई अनुप्रयोगों द्वारा झुंड सेवाओं का निर्माण करना चाहते हैं।

    4. कोई नहीं : यह ड्राइवर सभी नेटवर्किंग को निष्क्रिय कर देता है।

    5. Macvlan : यह ड्राइवर भौतिक उपकरणों की तरह दिखने के लिए कंटेनरों को मैक एड्रेस प्रदान करता है। यह उनके मैक पते के माध्यम से कंटेनरों के बीच आवागमन का मार्ग बताता है। आप इस नेटवर्क का उपयोग तब करते हैं जब आप चाहते हैं कि कंटेनर एक भौतिक उपकरण की तरह दिखें, उदाहरण के लिए, वीएम सेटअप को स्थानांतरित करते समय।

4. भंडारण

आप एक कंटेनर के लिखने योग्य परत के भीतर डेटा स्टोर कर सकते हैं लेकिन इसके लिए स्टोरेज ड्राइवर की आवश्यकता होती है। जब भी कंटेनर नहीं चल रहा है, तब तक यह न के बराबर होता है। इसके अलावा, इस डेटा को स्थानांतरित करना आसान नहीं है। लगातार भंडारण के संबंध में, डॉकर चार विकल्प प्रदान करता है:

    1. डेटा वॉल्यूम : वे लगातार स्टोरेज बनाने की क्षमता प्रदान करते हैं, वॉल्यूम, सूची संस्करणों का नाम बदलने की क्षमता के साथ, और वॉल्यूम के साथ जुड़े कंटेनर को भी सूचीबद्ध करते हैं। डेटा वॉल्यूम को होस्ट फ़ाइल सिस्टम पर रखा जाता है, लेखन तंत्र पर कंटेनरों की नकल के बाहर और काफी कुशल होते हैं।

    2. वॉल्यूम कंटेनर : यह एक वैकल्पिक दृष्टिकोण है जिसमें एक समर्पित कंटेनर एक वॉल्यूम होस्ट करता है और उस वॉल्यूम को अन्य कंटेनरों में माउंट करता है। इस स्थिति में, वॉल्यूम कंटेनर अनुप्रयोग कंटेनर से स्वतंत्र होता है और इसलिए आप इसे एक से अधिक कंटेनर में साझा कर सकते हैं।

    3. निर्देशिका Mounts : एक अन्य विकल्प एक मेजबान की स्थानीय निर्देशिका को कंटेनर में माउंट करना है। पहले उल्लेख किए गए मामलों में, संस्करणों को डॉकर्स वॉल्यूम फ़ोल्डर के भीतर होना चाहिए, जबकि जब निर्देशिका की बात आती है तो होस्ट मशीन पर किसी भी निर्देशिका को वॉल्यूम के लिए एक स्रोत के रूप में इस्तेमाल किया जा सकता है।

    4. भंडारण प्लगइन्स : स्टोरेज प्लगइन्स बाहरी स्टोरेज प्लेटफॉर्म से कनेक्ट करने की क्षमता प्रदान करते हैं। ये प्लगइन्स होस्ट से स्टोरेज सरणी या किसी उपकरण जैसे बाहरी स्रोत में मैप करते हैं। आप डॉकर के प्लगइन पेज पर स्टोरेज प्लगइन्स की एक सूची देख सकते हैं।

डॉकर की रजिस्ट्री

Android स्टेप स्टेप बाय स्टेप

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

अब जब आप डॉकर आर्किटेक्चर को समझ गए हैं, तो इसे देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka DevOps प्रमाणन प्रशिक्षण पाठ्यक्रम शिक्षार्थियों को यह समझने में मदद करता है कि DevOps क्या है और विभिन्न DevOps प्रक्रियाओं में विशेषज्ञता प्राप्त करता है और कठपुतली, जेनकींस, नगिओस, Ansible, शेफ, साल्टस्टैक और GIT जैसे विभिन्न चरणों को SDLC में स्वचालित करने के लिए।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस 'डॉकटर आर्किटेक्चर' के टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे