शुरुआती लोगों के लिए डॉकर ट्यूटोरियल: मूल बातें, Archiटेक्चर, कंटेनर
डॉकर क्या है?
डाक में काम करनेवाला मज़दूर एकाधिक के साथ वर्चुअलाइजेशन के लिए एक सॉफ्टवेयर विकास मंच है Operaएक ही होस्ट पर चलने वाले सिस्टम को वर्चुअलाइज़ करना। यह सॉफ़्टवेयर को तेज़ी से डिलीवर करने के लिए इंफ्रास्ट्रक्चर और एप्लिकेशन को अलग करने में मदद करता है। हाइपरवाइज़र के विपरीत, जिनका उपयोग VM (वर्चुअल मशीन) बनाने के लिए किया जाता है, Docker में वर्चुअलाइज़ेशन सिस्टम-स्तर पर किया जाता है, जिसे Docker कंटेनर भी कहा जाता है।
जैसा कि आप नीचे दी गई छवि में अंतर देख सकते हैं, डॉकर कंटेनर होस्ट के शीर्ष पर चलते हैं Operaसिस्टम को बेहतर बनाने में मदद करता है। इससे आपको कार्यकुशलता और सुरक्षा में सुधार करने में मदद मिलती है। इसके अलावा, हम एक ही इंफ्रास्ट्रक्चर पर वर्चुअल मशीन चलाने की तुलना में ज़्यादा कंटेनर चला सकते हैं क्योंकि कंटेनर कम संसाधनों का इस्तेमाल करते हैं।

VM के विपरीत जो होस्ट के हार्डवेयर के साथ संचार कर सकते हैं (उदाहरण: अधिक वर्चुअल एडाप्टर बनाने के लिए ईथरनेट एडाप्टर) Docker कंटेनर होस्ट के OS के शीर्ष पर एक अलग वातावरण में चलते हैं। भले ही आपका होस्ट चलता हो Windows ओएस, आप इसकी मदद से कंटेनरों में लिनक्स इमेज चला सकते हैं Hyper-V, जो सिस्टम की आधार छवि को वर्चुअलाइज़ करने के लिए स्वचालित रूप से छोटा VM बनाता है, इस मामले में, Linux.
डॉकर का उपयोग क्यों करें?
- डॉकर एक कंप्यूटर सॉफ्टवेयर है जिसका उपयोग वर्चुअलाइजेशन के लिए किया जाता है ताकि कई कार्य किए जा सकें। Operaटिंग सिस्टम एक ही होस्ट पर चल रहा है
- डॉकर एक क्लाइंट-सर्वर प्रकार का अनुप्रयोग है, जिसका अर्थ है कि हमारे पास ऐसे क्लाइंट हैं जो सर्वर से रिले करते हैं
- डॉकर छवियां हमारे कंटेनरों के लिए "स्रोत कोड" हैं; हम उनका उपयोग निर्माण के लिए करते हैं
- Dockerfile में दो प्रकार की रजिस्ट्री होती हैं 1.) सार्वजनिक और 2) निजी रजिस्ट्री
- कंटेनर Docker वॉल्यूम की संगठनात्मक इकाइयाँ हैं। सरल शब्दों में, एक छवि एक टेम्पलेट है, और एक कंटेनर उस टेम्पलेट की एक प्रति है। आपके पास एक ही छवि के कई कंटेनर (प्रतियाँ) हो सकते हैं।
डाक में काम करनेवाला मज़दूर Archiटेक्चर
अब इस Docker कंटेनर ट्यूटोरियल में, आइए Docker में Docker के मुख्य घटकों के बारे में बात करते हैं Archiटेक्चर:

डॉकर इंजन
डॉकर क्लाइंट-सर्वर प्रकार का अनुप्रयोग है जिसका अर्थ है कि हमारे पास ऐसे क्लाइंट हैं जो सर्वर से रिले करते हैं। इसलिए डॉकर डेमॉन जिसे डॉकरड कहा जाता है, वह डॉकर इंजन है जो सर्वर का प्रतिनिधित्व करता है। डॉकर डेमॉन और क्लाइंट को एक ही या रिमोट होस्ट पर चलाया जा सकता है, और वे कमांड लाइन क्लाइंट बाइनरी के साथ-साथ एक पूर्ण के माध्यम से संवाद करते हैं रसीला एपीआई डेमॉन के साथ बातचीत करने के लिए: dockerd.
डॉकर छवियाँ
डॉकर इमेज हमारे कंटेनरों के लिए "सोर्स कोड" हैं; हम उनका उपयोग कंटेनर बनाने के लिए करते हैं। उनमें सॉफ़्टवेयर पहले से इंस्टॉल हो सकता है जो तैनाती को गति देता है। वे पोर्टेबल हैं, और हम मौजूदा छवियों का उपयोग कर सकते हैं या अपनी खुद की बना सकते हैं।
डॉकर रजिस्ट्रियां
Docker हमारे द्वारा बनाए गए इमेज को रजिस्ट्री में संग्रहीत करता है। सार्वजनिक और निजी रजिस्ट्री हैं। Docker कंपनी के पास सार्वजनिक रजिस्ट्री है जिसे कहा जाता है डॉकटर हब, जहाँ आप निजी तौर पर इमेज भी स्टोर कर सकते हैं। Docker हब में लाखों इमेज हैं, जिनका आप अभी इस्तेमाल शुरू कर सकते हैं।
डोकर कंटेनर
कंटेनर संगठनात्मक इकाइयाँ हैं और डॉकर की मूल अवधारणा में से एक हैं। जब हम कोई छवि बनाते हैं और उसे चलाना शुरू करते हैं; तो हम कंटेनर में चल रहे होते हैं। कंटेनर सादृश्य का उपयोग हमारे कंटेनर में चल रहे सॉफ़्टवेयर की पोर्टेबिलिटी के कारण किया जाता है। हम इसे स्थानांतरित कर सकते हैं, दूसरे शब्दों में, सॉफ़्टवेयर को "शिप" कर सकते हैं, संशोधित कर सकते हैं, प्रबंधित कर सकते हैं, बना सकते हैं या इससे छुटकारा पा सकते हैं, इसे नष्ट कर सकते हैं, ठीक वैसे ही जैसे कार्गो जहाज असली कंटेनर के साथ कर सकते हैं।
सरल शब्दों में कहें तो, एक इमेज एक टेम्पलेट है और एक कंटेनर उस टेम्पलेट की एक कॉपी है। आपके पास एक ही इमेज के कई कंटेनर (कॉपी) हो सकते हैं।
नीचे हमने एक छवि दी है जो विभिन्न घटकों के बीच परस्पर क्रिया और डॉकर कंटेनर प्रौद्योगिकी कैसे काम करती है, को पूरी तरह से दर्शाती है।
हमारे पास कई डॉकर्स कमांड हैं डॉकर पुल, डॉकर रन.. हम इसके बारे में बाद में बात करेंगे।
लिनक्स पर Docker कैसे स्थापित करें/Ubuntu
नीचे लिनक्स पर Docker स्थापना की चरण दर चरण प्रक्रिया दी गई है/Ubuntu:
चरण 1) Docker को स्थापित करने के लिए, हमें Docker टीम के DEB पैकेजों का उपयोग करना होगा।
इसके लिए कुछ पूर्वापेक्षाएँ हैं Ubuntu पैकेज की आवश्यकता है.
स्थापित करने के लिए नीचे दिए गए आदेश का उपयोग करें Ubuntu संकुल
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*चिह्न “\” आवश्यक नहीं है, इसका प्रयोग नई लाइन के लिए किया जाता है, यदि आप चाहें तो केवल एक लाइन में “\” का प्रयोग किए बिना भी कमांड लिख सकते हैं।
चरण 2) फिंगरप्रिंट के साथ आधिकारिक Docker GPG कुंजी जोड़ें।
GPG कुंजी दर्ज करने के लिए नीचे दिए गए Docker कमांड का उपयोग करें
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
चरण 3) इसके बाद, Docker APT रिपॉजिटरी जोड़ें।
रिपॉजिटरी जोड़ने के लिए नीचे दिए गए Docker कमांड का उपयोग करें
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
आपसे यह पुष्टि करने के लिए कहा जा सकता है कि आप रिपोजिटरी जोड़ना चाहते हैं और अपने होस्ट में GPG कुंजी को स्वचालित रूप से जोड़ना चाहते हैं।
lsb_release कमांड को पॉप्युलेट करना चाहिए Ubuntu आपके होस्ट का वितरण संस्करण.
चरण 4) GPG कुंजी जोड़ने के बाद,
नीचे दिए गए Docker कमांड का उपयोग करके APT स्रोतों को अपडेट करें
$ sudo apt-get update
अब हम स्वयं Docker पैकेज स्थापित कर सकते हैं।
चरण 5) एक बार APT स्रोत अद्यतन हो जाएं,
Docker पैकेजों को स्थापित करना प्रारंभ करें Ubuntu नीचे दिए गए Docker कमांड का उपयोग करके
$ sudo apt-get install docker-ce
ऊपर दिया गया कमांड Docker और अन्य अतिरिक्त आवश्यक पैकेजों को इंस्टॉल करता है। Docker 1.8.0 से पहले, पैकेज का नाम lxc-docker था, और Docker 1.8 और 1.13 के बीच, पैकेज का नाम docker-engine था।
ध्यान दें: डॉकर के लिए Windows की आवश्यकता होती है Windows 10 प्रो या एंटरप्राइज़ संस्करण 14393, या Windows सर्वर 2016 RTM चलाने के लिए
बुनियादी Docker कमांड का उपयोग करके Docker का उपयोग कैसे करें
बुनियादी Docker कमांड का उपयोग करके Docker का उपयोग करने का तरीका यहां दिया गया है:
जैसा कि हमने पहले कहा था, डॉकर को स्थापित करने के बाद हमें जो सबसे बुनियादी कमांड चलाना चाहिए वह है $ docker info।
$ sudo docker info
आपको समान या निम्नलिखित परिणाम मिलना चाहिए
जैसा कि हम ऊपर दिए गए Docker उदाहरण में देख सकते हैं, हमारे पास docker कंटेनरों के बारे में जानकारी है कि उनमें से कितने चल रहे हैं, रुके हुए हैं या बंद हैं और हमने कितनी इमेज डाउनलोड की हैं। तो चलिए इस Docker कमांड ट्यूटोरियल में अपनी पहली इमेज प्राप्त करते हैं।
$ sudo docker pull alpine
इस कमांड के साथ हम डॉकर को अल्पाइन इमेज को डाउनलोड करने, उसे सार्वजनिक रजिस्ट्री से खींचने के लिए कह रहे हैं, जो कि डिफ़ॉल्ट रूप से सेट किया गया नवीनतम संस्करण है।
*अल्पाइन एक न्यूनतम डॉकर छवि है जो अल्पाइन लिनक्स पर आधारित है, जिसमें पूर्ण पैकेज इंडेक्स है और इसका आकार केवल 5 एमबी है।
यदि हम छवि को कंटेनर के रूप में चलाना चाहते हैं, तो हम इस डॉकर ट्यूटोरियल गाइड में निम्नलिखित कमांड का उपयोग करेंगे।
$ sudo docker run -i -t alpine /bin/bash
यदि हम कमांड चलाते हैं, तो हमें सीधे अल्पाइन के टर्मिनल पर भेजा जाएगा। -i फ्लैग STDIN को कंटेनर से खुला रखता है, तब भी जब आप उससे जुड़े नहीं होते हैं। यह स्थायी मानक इनपुट एक इंटरैक्टिव शेल के लिए आपकी ज़रूरत का आधा हिस्सा है। -t फ्लैग दूसरा आधा हिस्सा है और जो Docker को कंटेनर को एक छद्म-tty असाइन करने का निर्देश देता है। यह हमें नए कंटेनर में एक इंटरैक्टिव शेल प्रदान करता है। हम एक सरल exit कमांड के साथ कंटेनर से बाहर निकलते हैं।
अब इस Docker मूल बातें ट्यूटोरियल में, हम चलाने का प्रयास कर सकते हैं Ubuntu छवि।
$ sudo docker run -it ubuntu /bin/bash
आप देख सकते हैं कि डॉकर स्थानीय रूप से छवि की जांच करता है, और यदि वह वहां नहीं है, तो छवि स्वचालित रूप से छवि लाइब्रेरी से खींची जाती है, और एक बार फिर हमारे पास एक इंटरैक्टिव शेल चल रहा है। हम कंटेनरों को चलाते समय उनका नाम भी रख सकते हैं।
$ sudo docker run –-name our_container -it ubuntu /bin/bash
और हम पुनः बाहर निकल जाते हैं।
हम पहले से बनाए गए कंटेनर को बिना किसी इंटरैक्टिव शेल के भी चला सकते हैं।
$ sudo docker start container_name
और कंटेनर को docker stop container_name लिखना बंद करें
$ sudo docker stop container_name
यदि हम सभी चल रहे कंटेनरों को देखना चाहते हैं, तो हम बस चलाते हैं
$ docker ps
और सभी कंटेनरों के लिए हम इसी कमांड के अंत में “- a” जोड़ते हैं, जैसे docker ps -a.
यह कमांड कंटेनर की आईडी, निर्माण के समय उपयोग की गई छवि, चलने की स्थिति, उपलब्ध पोर्ट और आसान प्रबंधन के लिए कंटेनर के लिए यादृच्छिक रूप से उत्पन्न नाम दिखाता है।
जब हम कंटेनर चलाते हैं, तो हम यह भी जानना चाहेंगे कि वे कितने संसाधनों का उपयोग कर रहे हैं, इस उद्देश्य के लिए हम कमांड का उपयोग कर सकते हैं।
$ docker stats
आप यह भी देख सकते हैं कि हमने कौन सी छवियां स्थानीय रूप से डाउनलोड की हैं और उनके बारे में जानकारी भी देख सकते हैं।
$ sudo docker images
उपरोक्त डॉकर उदाहरण में कमांड, डॉकर छवि को एक टैग के साथ प्रदर्शित करता है जो हमारी छवि का संस्करण, एक विशिष्ट छवि आईडी, कब बनाई गई थी और छवि का आकार दिखाता है।
वर्चुअलाइजेशन क्या है?
पहले, किसी सेवा को तैनात करने की प्रक्रिया धीमी और कष्टदायक थी। सबसे पहले, डेवलपर्स कोड लिखते थे; फिर ऑपरेशन टीम इसे बेयर मेटल मशीनों पर तैनात करती थी, जहाँ उन्हें कोड के काम करने के लिए लाइब्रेरी वर्जन, पैच और भाषा संकलक की तलाश करनी होती थी। अगर कुछ बग या त्रुटियाँ होती थीं, तो प्रक्रिया फिर से शुरू होती थी, डेवलपर्स इसे ठीक करते थे, और फिर ऑपरेशनल टीम फिर से तैनात करने के लिए वहाँ होती थी।
हाइपरवाइजर के निर्माण के साथ एक सुधार हुआ था। हाइपरवाइजर में कई आभाषी दुनिया या उसी होस्ट पर VMs, जो चल रहे हों या बंद हों। VMs ने कोड को तैनात करने और बग फिक्सिंग के लिए प्रतीक्षा समय को बड़े पैमाने पर कम कर दिया, लेकिन असली गेम चेंजर Docker कंटेनर थे।
महत्वपूर्ण डॉकर कमांड
नीचे महत्वपूर्ण Docker कमांड दिए गए हैं:
| आदेश | विवरण |
|---|---|
| डॉकर जानकारी | सूचना आदेश |
| डॉकर पुल | एक छवि डाउनलोड करें |
| डॉकर रन -i -t image_name /bin/bash | छवि को कंटेनर के रूप में चलाएँ |
| docker शुरू our_container | कंटेनर प्रारंभ करें |
| डॉकर स्टॉप कंटेनर_नाम | कंटेनर बंद करो |
| डॉकर पीए | सभी चालू कंटेनरों की सूची |
| डॉकर आँकड़े | कंटेनर जानकारी |
| डॉकर छवियां | डाउनलोड की गई छवियों की सूची |
| डॉकर क्लीनअप | सभी चालू कंटेनरों को बंद करें. |
यह भी पढ़े डॉकर नौकरी साक्षात्कार प्रश्न और उत्तर नये और अनुभवी पेशेवरों के लिए।
सारांश
- डॉकर एक सॉफ्टवेयर डेवलपमेंट प्लेटफॉर्म है जो वर्चुअलाइजेशन के लिए कई सुविधाएँ प्रदान करता है। Operaएक ही होस्ट पर चलने वाले सिस्टम को एक साथ जोड़ना। यह सॉफ्टवेयर को जल्दी से वितरित करने के लिए बुनियादी ढांचे और अनुप्रयोगों को अलग करने में मदद करता है।
- डाक में काम करनेवाला मज़दूर Archiटेक्चर: डॉकर इंजन, डॉकर इमेज, डॉकर रजिस्ट्री, डॉकर कंटेनर।
- डॉकरइंजन: Docker क्लाइंट-सर्वर प्रकार का अनुप्रयोग है जिसका अर्थ है कि हमारे पास क्लाइंट हैं जो सर्वर से रिले करते हैं। इसलिए Docker डेमॉन जिसे dockerd कहा जाता है वह Docker इंजन है जो सर्वर का प्रतिनिधित्व करता है।
- डॉकर छवियाँ: डॉकर इमेज हमारे कंटेनरों के लिए "सोर्स कोड" हैं; हम उनका उपयोग कंटेनर बनाने के लिए करते हैं। उनमें सॉफ़्टवेयर पहले से इंस्टॉल हो सकता है जो तैनाती को गति देता है। वे पोर्टेबल हैं, और हम मौजूदा छवियों का उपयोग कर सकते हैं या अपनी खुद की बना सकते हैं।
- डॉकर रजिस्ट्रीज़: Docker हमारे द्वारा बनाई गई छवियों को रजिस्ट्री में संग्रहीत करता है। सार्वजनिक और निजी रजिस्ट्री हैं। Docker कंपनी के पास Docker हब नामक सार्वजनिक रजिस्ट्री है, जहाँ आप छवियों को निजी तौर पर भी संग्रहीत कर सकते हैं। Docker हब में लाखों छवियाँ हैं, जिनका आप अभी उपयोग करना शुरू कर सकते हैं।
- डॉकर कंटेनर: कंटेनर संगठनात्मक इकाइयाँ हैं और डॉकर की मूल अवधारणाओं में से एक हैं। जब हम कोई छवि बनाते हैं और उसे चलाना शुरू करते हैं; तो हम कंटेनर में चल रहे होते हैं। कंटेनर सादृश्य का उपयोग हमारे कंटेनर में चलने वाले सॉफ़्टवेयर की पोर्टेबिलिटी के कारण किया जाता है।

