Docker क्या है – What is docker in hindi

क्या आप softwares मे रुचि रखते है ? क्या आपको पता है की सोफ्टवेर्स को कैसे servers मे run किया जाता है? अगर नहीं, तो यह आलेख आपके बहोत काम का है क्योंकि आज हम आपके लिए लेकर आये है डॉकर से जुडी जानकारी। 

Docker kya hai

Docker क्या है ? Docker इस्तेमाल करने के फायदे ?

आज के इस आलेख मे हम Docker के बारे मे चर्चा करेंगे और जानेंगे की Docker क्या है और ये Software Developers के life को कैसे आसान बनाता है और आप इसका कैसे लाभ उठा सकते है।

Docker एक containerization tool  है और ये आमतौर पर सॉफ्टवेयर इंडस्ट्रीज मे उपयोग मे लाया जाता है। सरल शब्दों में, Docker एक ओपन-सोर्स प्रोजेक्ट है जो एप्लिकेशन को Deploy करने , establish करने और चलाने को आसान बनाता है। यह आपके application को चलाने के लिए एक हल्का वातावरण प्रदान करता है।

चलिए इसे एक diagram की मदद से समझते है :

Hypervisor vs docker
Docker containers

Hypervisor – Virtual Machines 

जैसा की आप pic(A) मे देख सकते है  traditional deployment मे एक server या आप कह सकते है एक computer होता है, जिसमे एक operating system installed होता है जिसमे एक virtual machine tool को चलाया जाता है जिसे Hypervisor कहते है।  यह Hypervisor virtual machines को चलने मे मदद करता है लेकिन इसके लिए कंपनियों को काफी पैसे खर्च करना पड़ता है क्योकि Hypervisor मे चल रहे हरेक OS के लिए License खरीदना पड़ता है, जो की काफी महंगा होता है और यह मशीन के Physical संसाधनों का भी ज्यादा से ज्यादा प्रयोग करता है।  

Docker – Containers 

Pic(B) जैसा की दर्शाया गया है, Hypervisor की तुलना मे हम बस एक ही OS अपने मुख्या computer/server मे चलाते हैं जिसमे Docker Daemon को install कर दिया जाता है। एवं एप्लिकेशन को एक Docker कंटेनर में पैक किया जाता है जिसमें सभी निर्भरताएं (libraries, packages) होती हैं जो एप्लिकेशन को deploy करने के लिए आवश्यक होती हैं।

अगर आप उपर दिए गये diagram को ध्यान से देखेंगे तो पाएंगे की आप दोनों ही माध्यम से एक ही कंप्यूटर मे कई अलग-अलग versions के softwares को बिना किसी दिक्कत के एक साथ चला सकते है।  जिसमे docker ज्यादा कारगर साबित होता है। 

Docker का उपयोग करके, किसी एप्लिकेशन को developer के लैपटॉप से testing environment में और अंत में production में आसानी से ट्रांसफर  किया जा सकता है। ऐसा करने से, डेवलपर को ये चिंता करने की ज़रूरत नहीं होती है कि क्या एप्लिकेशन प्रोडक्शन सर्वर पर चलेगा या नहीं क्योंकि सभी एप्लिकेशन निर्भरताएं कंटेनर के भीतर मौजूद होती हैं, Pic(B) देखे ।

अब जब मैंने आपको डॉकर के बारे में एक संक्षिप्त जानकारी दे दी है, तो आइए डॉकर के कुछ लाभों को देखें:

सॉफ्टवेयर development cycle के दौरान Consistent वातावरण देना । इसका मतलब यह है कि सभी सॉफ्टवेयर डेवलपमेंट टीम एक ही environment का उपयोग एक कंटेनर के भीतर चलाकर एक एप्लिकेशन के निर्माण, परीक्षण और deploy के लिए कर सकते हैं जो एप्लिकेशन की सभी निर्भरताओं का समर्थन करती है।

यह एक हल्का कंटेनरीकरण उपकरण (containerization tool) है जो उन्हें सौंपे गए minimum  resources लेता है। यह सभी कंप्यूटर संसाधनों (सीपीयू, डिस्क स्थान, आदि) को हैंग नहीं करता है। यह एक ओपन source है और स्वतंत्र रूप से उपलब्ध है।

यह एक version control system की तरह व्यवहार करता है। यह आपको अपनी docker images में परिवर्तन करने की अनुमति देता है और version  उन्हें नियंत्रित करता है।

मान लीजिए कि आप एक ऐसा version अपग्रेड करते हैं जो आपके पूरे परिवेश को क्रैश कर देता है। अपनी docker इमेज  के पिछले संस्करण में रोलबैक करना आसान है। गिट की तरह, इसमें एक रिमोट रिपोजिटरी है जो सभी डॉकर images और कंटेनरों को सहेज और ट्रैक कर सकता है जिसे Docker Registry कहते हे ।

यह अन्य ऍप्लिकेशन्स से पूर्ण रूप  isolation प्रदान करता है। प्रत्येक एप्लिकेशन को सभी निर्भरताओं और संसाधनों के साथ कंटेनरीकृत किया जाता है इसलिए प्रत्येक कंटेनर दूसरे से अलग होता है।

Docker के उद्देश्य/purpose  क्या है?

Docker का उद्देश्य डेवलपर्स और dev-ops टीम को अधिक productive  और कम त्रुटि करने वाला बनने में मदद करना है। डॉकर की मदद से नई परियोजनाओं की स्थापना और तैनाती अधिक आसान और समय कुशल हो जाती है।

एक ऐसे scenario पर विचार करें जहां ऑपरेटिंग सिस्टम विंडो आपके सिस्टम में इनस्टॉल है और आपको अपने एप्लिकेशन को विभिन्न ऑपरेटिंग सिस्टम में install और परीक्षण करना है, मान लें कि फेडोरा, सेंट-ओस और उबंटू। आप यह कैसे करेंगे? क्या आप इन सभी ऑपरेटिंग सिस्टम को अपने लैपटॉप में इंस्टॉल करेंगे? डॉकर containerization प्लेटफॉर्म है जो आपको अपने एप्लिकेशन और इसकी निर्भरता को डॉकटर कंटेनर के रूप में पैकेज करने में मदद करता है, यह सुनिश्चित करता है कि यह हर वातावरण (स्थानीय / स्टेजिंग / यूएटी / प्रोडक्शन) में निर्बाध रूप से काम करता रहे ।

आप डॉकर का उपयोग कब करते हैं ?

डॉकर का उपयोग तब किया जाता है जब आपके पास बहुत सारी services  होती हैं जो एक अलग तरीके से काम करती हैं और एक वेब एप्लिकेशन के लिए data provider के रूप में काम करती हैं।

डॉकर का उपयोग स्थानीय मशीनों के साथ-साथ क्लाउड पर भी किया जा सकता है। डॉकर का उपयोग करने का सबसे अच्छा तरीका डॉकर क्लाउड के साथ docker swarm flavor है। यह multiple instances को Manage करने के काम को सरल  बनाता है और उसे Orcheastrate भी करता है, और डॉकर क्लाउड सेटिंग्स का उपयोग करके services  की खोज की जाती है। इस तरह जब आपके एप्लिकेशन पर लोड कम होता है, तो बहुत कम हार्डवेयर का उपयोग किया जाता है। जैसे-जैसे लोड बढ़ता है Docker Swarm services को क्लोन करके नयी services launch कर देता है, जिससे हार्डवेयर का use  बढ़ता है एवं  लोड कम होने पर services के दूसरे copies को kill कर देता है जिससे हार्डवेयर resources पर load कम हो जाता है  ।

डॉकर्स में implicit security setting होती है, इसलिए हैकिंग आसान नहीं है क्योंकि पोर्ट और सेवाओं से आसानी से समझौता नहीं किया जा सकता है। आप security keys भी सेट कर सकते हैं ताकि कंटेनरों के बीच communication उन चाबियों मदद से हो सके।

डॉकर्स में automatic failover होता  है। यदि कोई application  विफल हो जाता है या किसी कारण से engaged हुआ है, तो availability को ध्यान में रखते हुए एक और instance सामने आता है।

Docker का उपयोग करने के लाभों में शामिल हैं –

  • कंसिस्टेंसी ,स्पीड  और isolation
  • return ऑफ़ इन्वेस्टमेंट , cost सेविंग्स
  • Standardization और productivity
  • CI Efficiency
  • Compatibility और  Maintainability
  • सरलता और तेज़ कॉन्फ़िगरेशन
  • तेजी से तैनाती/Rapid Deployment
  • निरंतर Deployment और परीक्षण
  • मल्टी-क्लाउड प्लेटफॉर्म
  • सुरक्षा

अगर आप docker के बारे मे और भी detail मे जानकारी चाहते है, या फिर आप wordpress docker की मदद से चलना चाहते है तो comment box मे हमे message करे!

Share

Leave a Comment

Your email address will not be published. Required fields are marked *