डॉकर 2013 में परिदृश्य में उभरा और तब से इसने आईटी सर्किलों के चारों ओर एक चर्चा पैदा की है। डॉकर द्वारा प्रदान की गई कंटेनर तकनीक पर आधारित समाधान आईटी संचालन के तरीके को पूरी तरह से बदल रहे हैं।
इस ब्लॉग में, हम आज DevOps (डेवलपमेंट ऑपरेशन) पाइपलाइन में सबसे हॉट तकनीकों में से एक को उजागर करने जा रहे हैं।
डॉकर को इतना बढ़ावा क्यों दिया जाता है?
मान लीजिए, आपने एक एप्लिकेशन बनाया है जो आपकी विकास मशीन पर बहुत अच्छा काम करता है तो आप इसे क्यूए मशीन या प्रोडक्शन मशीन पर तैनात करते हैं और अचानक यह वहां काम नहीं करता है। क्यों? बड़ी कंपनियां अपने व्यवसाय को चलाने के लिए कंटेनर-आधारित तकनीक का उपयोग करती हैं, वे हर हफ्ते अपने डेटा केंद्रों में 2 बिलियन से अधिक कंटेनर तैनात करती हैं क्योंकि यह अनुप्रयोगों के निरंतर एकीकरण, वितरण, पोर्टेबिलिटी और स्केलेबिलिटी में मदद करती है। तो कंटेनर अचानक इतने लोकप्रिय क्यों हो गए हैं, इसका कारण डॉकर है।
डॉकर तकनीक शहर में चर्चा का विषय बन गई है क्योंकि यह किसी भी स्टैक का उपयोग करके किसी भी भाषा में किसी भी चीज पर कहीं भी चलने के लिए किसी भी एप्लिकेशन को बनाने में मदद करती है। यह मूल रूप से डेवलपर्स को एक विशिष्ट सॉफ़्टवेयर चलाने के लिए विभिन्न अन्य घटकों पर निर्भरता कम करने में मदद करता है। उपरोक्त मामले के रूप में, जहां एप्लिकेशन डेवलपमेंट मशीन में काम कर रहा था, लेकिन अन्य वातावरणों में तैनात होने के कारण प्रतिक्रिया देना बंद कर दिया, अच्छी तरह से डॉकर पैक, शिप करने और किसी भी एप्लिकेशन को आत्मनिर्भर कंटेनर के रूप में चलाने के लिए समाधान प्रदान करके इस मुद्दे को हल करने के लिए चमक रहा है, जो वर्चुअल रूप से चल सकता है। कहीं भी, चाहे कोई भी वातावरण हो।
यह तकनीक सुपर-हॉट है और यह भविष्य के सॉफ़्टवेयर विकास में एक प्रमुख भूमिका निभाने जा रही है।
डॉकर क्या है?
डॉकर एक ओपन-सोर्स कंटेनर-आधारित तकनीक है। यह मूल रूप से अनुप्रयोगों को अंतर्निहित OS से अलग करता है जिस पर यह चलता है, बिल्कुल वर्चुअल मशीन (VM) की तरह OS को अंतर्निहित हार्डवेयर से अलग करता है जिस पर यह चलता था।
अभी भी आश्वस्त नहीं हैं?
ठीक है, इसलिए डॉकर का उपयोग करके, आप अलग-अलग एप्लिकेशन बना सकते हैं और उन्हें अलग-अलग मशीनों या अलग-अलग कंप्यूटरों या अलग-अलग होस्ट पर चला सकते हैं और उन्हें प्रभावी और कुशल तरीके से संवाद कर सकते हैं।
सॉफ्टवेयर अनुप्रयोगों को चलाने के लिए उद्योग मानक आमतौर पर वर्चुअल मशीन (वीएम) पर काम करते हैं, लेकिन आज कंटेनर आईटी दुनिया में गति प्राप्त कर रहे हैं और डेवलपर्स के वर्कलोड को कम कर रहे हैं। कैसे?
चूंकि यह एक ओपन-सोर्स प्रोजेक्ट है जो आपको अपने कोड और इसके कॉन्फ़िगरेशन या निर्भरताओं को एक साफ छोटे पैकेज में जमा करने और स्टोर करने की अनुमति देता है- एक कंटेनर, जिसके माध्यम से आप आसानी से एक सर्वर पर कई एप्लिकेशन बना सकते हैं, तैनात कर सकते हैं और चला सकते हैं।पी>
वर्चुअल मशीन (वीएम) क्या हैं?
एक वर्चुअल मशीन एक कंप्यूटर सिस्टम की नकल करती है जिसमें रैम, प्रोसेसर आदि शामिल होते हैं। भौतिक कंप्यूटर जैसी विशेषताओं को प्रदर्शित करने के अलावा, यह विभिन्न ओएस और एप्लिकेशन को चलाने के लिए एक कार्यक्षमता प्रदान करता है। कॉन्फ़िगरेशन और संसाधन होस्ट सिस्टम के भौतिक संसाधनों द्वारा समर्थित हैं। एक वर्चुअल मशीन को अतिथि के रूप में भी संदर्भित किया जाता है और उन पर चलने वाले OS को अतिथि OS कहा जाता है। जिस सिस्टम पर वर्चुअल मशीन चलती है उसे होस्ट सिस्टम कहा जाता है।
डॉकर कंटेनर क्या हैं? पी>
शुरू करने से पहले डॉकर कैसे काम करता है? आपको कंटेनरों के बारे में अपनी दृष्टि स्पष्ट करने की आवश्यकता है। एक कंप्यूटिंग वातावरण से दूसरे में ले जाने पर सॉफ़्टवेयर को विश्वसनीय रूप से चलाने की समस्या के समाधान के रूप में कंटेनरों को सरल बनाया जा सकता है। एक कंटेनर में एक सॉफ्टवेयर चलाने के लिए आवश्यक एक एप्लिकेशन, उसकी निर्भरता, लाइब्रेरी, बायनेरिज़ और अन्य कॉन्फ़िगरेशन फ़ाइलें होती हैं। सब कुछ एक पैकेज में बँधा हुआ है। ऐसा करने से, डेवलपर निश्चिंत हो सकता है कि एप्लिकेशन किसी भी चीज़ पर और कहीं भी चलेगा।
डॉकर कंटेनर सर्वर पर एप्लिकेशन चलाने की प्रक्रिया को बहुत आसान तरीके से करता है। डॉकर आधारित कंटेनरों के साथ आप मूल रूप से सेकंड के लिए तैनाती को कम कर सकते हैं क्योंकि इन कंटेनरों में अनुप्रयोगों के कुछ हिस्सों पर काम करने की क्षमता है, जिसका मतलब है कि अगर डॉकर कंटेनरों के साथ आवेदन में कोई मरम्मत या अद्यतन की आवश्यकता है तो आपको पूरे ऐप को हटाने की आवश्यकता नहीं है , इसके बजाय आप विशेष रूप से किसी एप्लिकेशन के एक हिस्से पर काम कर सकते हैं।
डॉकर बनाम वर्चुअल मशीन पी>
डॉकटर कंटेनर और वर्चुअल मशीन दोनों में समान अलगाव और संसाधन आवंटन लाभ हैं। लेकिन फिर भी, दोनों अलग-अलग कार्य करते हैं और उनके अपने फायदे हैं। आइए हम दोनों के लिए संभावित उपयोग के मामलों को समझने की कोशिश करें और कैसे एक दूसरे को जीतें।
- उपयोग में आसानी को ध्यान में रखते हुए, वीएम हमें पूर्ण फ्लैश ग्राफिकल इंटरफेस के साथ एक सटीक ऑपरेटिंग सिस्टम का समृद्ध रूप और अनुभव देता है। वीएम से जुड़े उपकरण तक पहुंचना और उनके साथ काम करना आसान है। डॉकर के पास एक जटिल पारिस्थितिकी तंत्र है और कमांड लाइन इंटरफ़ेस के लिए अनुकूलता की आवश्यकता है।
- उपयोग में आसानी के अलावा, डॉकर अब से सभी उपयोग मामलों में आगे बढ़ गया है। डॉकर कंटेनरों को चलाने के लिए हार्डवेयर हाइपरविजर की आवश्यकता नहीं होती है। यहाँ डॉकटर इंजन एक हाइपरविजर की उपयोगिता को पूरा करता है और इस पर कई कंटेनर चला सकता है। वीएम के विपरीत, डॉकर कंटेनरों को संचालित करने के लिए बहुत कम संसाधनों की आवश्यकता होती है।
- वीएम की तुलना में डॉकटर कंटेनर छोटे, हल्के और काफी हद तक तेज होते हैं। वीएम को बूट करने और डिवाइस तैयार होने के लिए काफी समय की आवश्यकता होती है। एक कंटेनर इमेज से शुरू होने में एक कंटेनर को कुछ माइक्रोसेकंड लगते हैं।
- डॉकर ओपन सोर्स कंटेनर विकास पाइपलाइन में कहीं अधिक पोर्टेबल हैं। उनकी कॉम्पैक्ट और पोर्टेबल विशेषता समानांतर विकास के लिए टीम के कई सदस्यों के बीच साझा करना आसान बनाती है।
- गति और दक्षता जैसे चुस्त लाभों के कारण डॉकर ने प्रमुख निगमों में वीएम के उपयोग को कम कर दिया है। यह कहना सही नहीं है कि वीएम एक दिन गायब हो जाएंगे, बल्कि वे डॉकर के समानांतर काम करेंगे।
डॉकर का वर्कफ़्लो? पी>
डॉकर तकनीक के पीछे के विचार को समझाने का सबसे आसान तरीका इसकी कार्यप्रणाली को समझना है।
हम डॉकर हब का उपयोग करके इसकी कार्यप्रणाली समझाएंगे क्योंकि यह सबसे भरोसेमंद है।
डॉकर के साथ आरंभ करें:
- डॉकर हब के लिंक का अनुसरण करें? https://hub.docker.com/
- अब जब आप मुख्य पृष्ठ पर आते हैं, या तो आप अपनी खुद की मुफ्त डॉकर आईडी बना सकते हैं या आप विभिन्न डॉकर छवियों का पता लगा सकते हैं और उन हल्के पैकेजों को अपनी आवश्यकता के अनुसार खींच सकते हैं।
डॉकर इमेज पी>
डॉकटर छवि का उपयोग कंटेनरों को लॉन्च करने के लिए किया जाता है। हम अपनी खुद की अनुकूलित छवि बना सकते हैं। वे हल्के होते हैं जो पुन:प्रयोज्यता को बढ़ाते हैं और डिस्क के उपयोग को कम करते हैं।
डॉकर कंटेनर पी>
हम डॉकर हब से डॉकर छवियों को खींचकर एक कंटेनर लॉन्च करते हैं। हम अलग-अलग कंटेनरों में अलग-अलग एप्लिकेशन को अपनी आवश्यकता के अनुसार पैकेज कर सकते हैं।
डॉकर हब सार्वजनिक डॉकर सामग्री का पता लगाने के लिए डॉकर स्टोर की पेशकश करता है, जहां आप लोकप्रिय कंटेनर, प्लगइन्स और डॉकर संस्करण खोज सकते हैं।
डॉकर रिपॉजिटरी पी>
डॉकर रिपॉजिटरी आपको एक ही स्थान पर अपनी छवियों को प्रबंधित करने में मदद करती है। ये रिपॉजिटरी सार्वजनिक या निजी हो सकती हैं। डॉकर बिल्ड समुदाय में सार्वजनिक रिपॉजिटरी को सभी के साथ साझा किया जा सकता है। और समानांतर विकास के लिए निजी रिपॉजिटरी को आपके सहकर्मियों के साथ साझा किया जा सकता है।
आपको सेटिंग मेनू में इसे सार्वजनिक या निजी बनाने या हटाने का विकल्प मिलेगा।
डॉकर फ़ाइल पी>
Dockerfile एक टेक्स्ट डॉक्यूमेंट है जिसमें निर्देश और कमांड होते हैं कि कंटेनर कैसे बनाए जाएंगे। इसके अलावा, डॉकर इंजन इन डॉकर फाइलों को पढ़ता है और डॉकरफाइल में उल्लिखित निर्देशों के अनुसार एक कंटेनर बनाता है।
डॉकर्स का उपयोग करने के लाभ
मजबूत> आइए डॉकर के शीर्ष लाभों का पता लगाएं और समझें कि बड़ी कंपनियां डॉकर का उपयोग करने पर जोर क्यों देती हैं:
<मजबूत>1. अलग विकास पर्यावरण
पी>
डॉकर सभी अनुप्रयोगों और संसाधनों के लिए एक पृथक वातावरण प्रदान करता है। प्रत्येक कंटेनर के अपने संसाधन होते हैं जो एक दूसरे से अलग-थलग होते हैं। अगर किसी को अब एक कंटेनर की जरूरत नहीं है तो उसके सभी संसाधनों को सिर्फ हटाकर मुक्त किया जा सकता है। इन संसाधनों को आगे किसी अन्य कंटेनर में पुनः आवंटित किया जा सकता है। एक बार एक कंटेनर हटा दिए जाने के बाद, डॉकर सभी होस्ट और कॉन्फ़िगरेशन फ़ाइलों को हटाकर साफ निष्कासन सुनिश्चित करता है। प्रत्येक एप्लिकेशन का अपना अलग कंटेनर होता है जो पूरी तरह से अलग-थलग ढेर पर चलता है। डॉकर अनुप्रयोगों को संसाधन प्रदान करता है और यह सुनिश्चित करता है कि प्रत्येक एप्लिकेशन केवल उसे आवंटित संसाधनों का उपयोग कर सकता है। यह प्रदर्शन में गिरावट से बचने वाले सभी एप्लिकेशन के अपटाइम को बनाए रखने में मदद करता है।
<मजबूत>2. तत्काल तैनाती
पी>
कंटेनरीकृत प्लेटफ़ॉर्म का उपयोग करने से परिनियोजन समय सेकंड में कम हो जाता है क्योंकि यह OS बूट करने की आवश्यकता को समाप्त कर देता है। यह प्लेटफॉर्म न्यूनतम संसाधनों के साथ अत्यधिक पोर्टेबल वर्कलोड को प्रबंधित करने में सक्षम है। यह गतिशील रूप से एक स्थानीय सिस्टम पर चल सकता है, डेटा सेंटर पर चल रही वर्चुअल मशीन, एक क्लाउड सर्वर या इन वातावरणों का एक समामेलन।
<मजबूत>3. अनुप्रयोगों का तीव्र विकास और निरंतर वितरण पी>
संपूर्ण विकास प्रक्रिया के दौरान मैन्युअल हस्तक्षेप की आवश्यकता को कम करते हुए डॉकर सभी आंतरिक कॉन्फ़िगरेशन और निर्भरताओं को स्वयं संभालता है।
डॉकर विभिन्न अनुप्रयोगों को अलगाव प्रदान करने के अलावा इन सभी अनुप्रयोगों के बीच प्रभावी एकीकरण भी प्रदान करता है। अनुप्रयोगों की लगातार डिलीवरी के लिए निरंतर एकीकरण खाते।
<मजबूत>4. निरंतर परीक्षण और संस्करण नियंत्रण पी>
कंटेनर-आधारित प्लेटफ़ॉर्म उत्पादन से लेकर परीक्षण और क्यूए तक एक समरूप वातावरण है। परीक्षण टीम द्वारा उत्पादन के लिए उपयोग किए जाने वाले कंटेनर का आगे उपयोग किया जा सकता है। यह निरंतर परीक्षण सुनिश्चित करता है जब किसी संगठन की कई धाराएँ समानांतर में काम करना चाहती हैं।
उदाहरण के लिए,
• डेवलपर्स ने अपने मूल सिस्टम पर एक कोड विकसित किया और अपने परीक्षण और क्यूए टीम के साथ कंटेनर वितरित किए।
• परीक्षण टीम ने कंटेनर को खींचा और कुछ समस्याएं पाईं।
• उन्होंने इसे ठीक कर दिया बग और मुद्दे और सत्यापन और सत्यापन परीक्षण करते हैं।
• परीक्षण प्रक्रिया पूरी होने पर, वही छवि उत्पादन वातावरण में वापस धकेल दी जाती है।
एप्लिकेशन के उत्पादन के लिए कंटेनर-आधारित प्लेटफ़ॉर्म का उपयोग करने का एक प्रमुख लाभ संस्करण-नियंत्रण है। कंटेनर प्रत्येक फ़ाइल या उसमें फ़ाइलों के समूह में परिवर्तनों को ट्रैक करते हैं ताकि उपयोगकर्ता बाद में किसी विशिष्ट संस्करण को याद कर सकें।
यह उत्पाद रिलीज़ चक्र के बीच उत्पाद को अपग्रेड करने की आवश्यकता के मामले में मदद करता है। डॉकटर कंटेनरों में आवश्यक परिवर्तन किए जा सकते हैं, उनका परीक्षण किया जा सकता है और उन्हें मौजूदा कंटेनरों में लागू किया जा सकता है। यदि अपग्रेड पूरे वातावरण को तोड़ देता है तो आप आसानी से पिछले संस्करण में रोलबैक कर सकते हैं।
<मजबूत>5. प्रत्येक एप्लिकेशन के लिए समर्पित हार्डवेयर की आवश्यकता को कम करना पी>
डॉकटर कंटेनर हाइपरविजर-आधारित वर्चुअल मशीनों का हल्का और तेज़ विकल्प है। वर्चुअल मशीनों को विभिन्न अनुप्रयोगों को चलाने के लिए वर्चुअलबॉक्स जैसे हाइपरविजर की आवश्यकता होती है, जबकि एक डॉकटर इंजन पर बिना किसी हाइपरविजर के कई कंटेनर होस्ट किए जा सकते हैं।
कंटेनर कम संसाधनों के साथ छोटे और मध्यम परिनियोजन के लिए एक शानदार विकल्प हैं।
<मजबूत>6. बहु-मंच पी>
डॉकर ओपन सोर्स कंटेनर प्रकृति में अत्यधिक पोर्टेबल होते हैं। Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure और Open Stack जैसे लगभग सभी प्रमुख क्लाउड प्रदाताओं ने अपनी इनबिल्ट कार्यक्षमता के रूप में डॉकर समर्थन को एम्बेड किया है।
डॉकर मूल रूप से 2016 के पतन तक लिनक्स-उन्मुख था, जिसके बाद इसे विंडोज़ के लिए पेश किया गया था। विंडोज़ की शुरुआत के तुरंत बाद, डेवलपर्स ने विषम विकास के लिए लिनक्स और विंडोज दोनों के लिए टूल, एपीआई और छवि प्रारूपों को सामान्यीकृत किया।
<मजबूत>7. उद्योग-स्तर के संगठनों के लिए किफायती पी>
रिटर्न-ऑन-इनवेस्टमेंट्स (आरओआई) हर स्थापित कंपनी के लिए सबसे महत्वपूर्ण प्रबंधन मौलिक है। सबसे इष्टतम समाधान वह है जो लाभ को बढ़ाते हुए लागत को कम कर सकता है। संगठन जितना बड़ा होगा, उत्पादन के लिए उतने ही अधिक बुनियादी ढाँचे के संसाधनों की आवश्यकता होगी।
डॉकर उत्पादन के लिए बुनियादी ढाँचे के संसाधनों की आवश्यकता को कम करके लागत-दक्षता की सुविधा देता है। डॉकर सर्वर की लागत और उन्हें बनाए रखने के लिए कार्यबल को भी कम करता है। यह संगठनों को लंबी अवधि के लिए स्थिर राजस्व उत्पन्न करने में मदद करता है।
<मजबूत>8. सुरक्षा और विश्वसनीयता पी>
चूंकि डॉकर ओपन सोर्स कंटेनर एक दूसरे से अलग-थलग हैं, यह ट्रैफिक प्रवाह और प्रबंधन पर उपयोगकर्ताओं को कुल नियंत्रण प्रदान करता है। एक कंटेनर किसी अन्य कंटेनर पर चल रही प्रक्रिया को नहीं देख सकता।
डिफ़ॉल्ट सुरक्षा तंत्र के अलावा, विभिन्न सुरक्षा उपकरण और प्लग-इन बाज़ार में उपलब्ध हैं। डॉकर रजिस्ट्रियों के अंदर कंटेनर छवियों की सुरक्षा के लिए क्लेयर जैसे छवि स्कैनर का उपयोग किया जाता है।
वर्चुअलाइजेशन ड्राइव ने कॉर्पोरेट उद्योग में उछाल लिया है। आभासी वातावरण में स्विच करने में कुछ खामियां हो सकती हैं, लेकिन आपके पैसे बचाने से लेकर आपके व्यवसाय की निरंतरता बनाए रखने तक इसके भरपूर फायदे हैं। डॉकर इस वर्चुअलाइजेशन ड्राइव के अग्रणी आविष्कारों में से एक है।