डॉकर - क्विक गाइड

डॉकर एक कंटेनर प्रबंधन सेवा है। डॉकर के कीवर्ड हैंdevelop, ship तथा runकहीं भी। डॉकर का पूरा विचार डेवलपर्स के लिए आसानी से अनुप्रयोगों को विकसित करने के लिए है, उन्हें कंटेनरों में शिप करें जो तब कहीं भी तैनात किए जा सकते हैं।

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

डॉकर की विशेषताएं

  • डॉकटर में कंटेनरों के माध्यम से ऑपरेटिंग सिस्टम के एक छोटे पदचिह्न प्रदान करके विकास के आकार को कम करने की क्षमता है।

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

  • आप किसी भी भौतिक और आभासी मशीनों पर और यहां तक ​​कि क्लाउड पर डॉक कंटेनर को तैनात कर सकते हैं।

  • चूंकि डॉकटर कंटेनर बहुत हल्के होते हैं, वे बहुत आसानी से स्केलेबल होते हैं।

डॉकर के घटक

डॉकर के निम्नलिखित घटक हैं

  • Docker for Mac - यह मैक ओएस पर डॉकटर कंटेनरों को चलाने की अनुमति देता है।

  • Docker for Linux - यह लिनक्स ओएस पर डॉकटर कंटेनरों को चलाने की अनुमति देता है।

  • Docker for Windows - यह विंडोज ओएस पर डॉकटर कंटेनरों को चलाने की अनुमति देता है।

  • Docker Engine - इसका इस्तेमाल Docker इमेज बनाने और Docker कंटेनर्स बनाने के लिए किया जाता है।

  • Docker Hub - यह रजिस्ट्री है जो विभिन्न डॉकर छवियों को होस्ट करने के लिए उपयोग की जाती है।

  • Docker Compose - यह कई डॉकर कंटेनरों का उपयोग करके अनुप्रयोगों को परिभाषित करने के लिए उपयोग किया जाता है।

हम बाद के अध्यायों में इन सभी घटकों पर विस्तार से चर्चा करेंगे।

डॉकर के लिए आधिकारिक साइट है https://www.docker.com/साइट में डॉकर सॉफ्टवेयर के बारे में सभी जानकारी और दस्तावेज हैं। इसमें विभिन्न ऑपरेटिंग सिस्टम के लिए डाउनलोड लिंक भी हैं।

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

निम्न स्क्रीनशॉट एक साधारण Ubuntu सर्वर दिखाता है जिसे Oracle वर्चुअल बॉक्स पर स्थापित किया गया है। एक OS उपयोगकर्ता नाम हैdemo जिसे सिस्टम पर परिभाषित किया गया है जिसमें संपूर्ण रूट की पहुंच गंभीर तक है।

डॉकर को स्थापित करने के लिए, हमें नीचे दिए गए चरणों का पालन करना होगा।

Step 1- डॉकर को स्थापित करने से पहले, आपको पहले यह सुनिश्चित करना होगा कि आपके पास सही लिनक्स कर्नेल संस्करण चल रहा है। डॉकर को केवल लिनक्स कर्नेल संस्करण 3.8 और उच्चतर पर चलाने के लिए डिज़ाइन किया गया है। हम निम्न कमांड चलाकर ऐसा कर सकते हैं।

आपका नाम

यह विधि लिनक्स सिस्टम के बारे में सिस्टम जानकारी देता है।

वाक्य - विन्यास

uname -a

विकल्प

a - यह सुनिश्चित करने के लिए उपयोग किया जाता है कि सिस्टम जानकारी वापस आ गई है।

प्रतिलाभ की मात्रा

यह विधि लिनक्स सिस्टम पर निम्नलिखित जानकारी लौटाती है -

  • कर्नेल नाम
  • नोड नाम
  • कर्नेल रिलीज़
  • कर्नेल संस्करण
  • machine
  • processor
  • हार्डवेयर मंच
  • ऑपरेटिंग सिस्टम

उदाहरण

uname –a

उत्पादन

जब हम कमांड के ऊपर चलेंगे, तो हमें निम्नलिखित परिणाम मिलेंगे -

आउटपुट से, हम देख सकते हैं कि लिनक्स कर्नेल संस्करण 4.2.0-27 है जो कि संस्करण 3.8 से अधिक है, इसलिए हम जाने के लिए अच्छे हैं।

Step 2 - आपको नवीनतम पैकेजों के साथ ओएस को अपडेट करने की आवश्यकता है, जो निम्न कमांड के माध्यम से किया जा सकता है -

apt-get

यह विधि इंटरनेट से लिनक्स सिस्टम पर संकुल स्थापित करती है।

वाक्य - विन्यास

sudo apt-get update

विकल्प

  • sudo - sudo कमांड का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कमांड रूट एक्सेस के साथ चलता है।

  • update - update विकल्प का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि सभी पैकेज लिनक्स सिस्टम पर अपडेट किए गए हैं।

प्रतिलाभ की मात्रा

कोई नहीं

उदाहरण

sudo apt-get update

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो हमें निम्नलिखित परिणाम मिलेंगे -

यह कमांड इंटरनेट से कनेक्ट होगा और उबंटू के लिए नवीनतम सिस्टम पैकेज डाउनलोड करेगा।

Step 3- अगला कदम आवश्यक प्रमाण पत्र स्थापित करना है जो आवश्यक डॉकर पैकेज को डाउनलोड करने के लिए बाद में डॉकर साइट के साथ काम करने के लिए आवश्यक होगा। यह निम्नलिखित कमांड के साथ किया जा सकता है।

sudo apt-get install apt-transport-https ca-certificates

Step 4- अगला कदम नई GPG कुंजी जोड़ना है। यह कुंजी यह सुनिश्चित करने के लिए आवश्यक है कि डॉकर के लिए आवश्यक पैकेज डाउनलोड करते समय सभी डेटा एन्क्रिप्ट किया गया है।

निम्नलिखित कमांड आईडी 58118E89F3A912897C070ADBF76221572C52609D से कुंजी डाउनलोड करेगा keyserver hkp: //ha.pool.sks-keyservers.net: 80 और इसे जोड़ता है advचाबी का गुच्छा। कृपया ध्यान दें कि यह विशेष कुंजी आवश्यक डॉकर पैकेज डाउनलोड करने के लिए आवश्यक है।

Step 5 - अगला, आपके पास उबंटू के संस्करण के आधार पर, आपको संबंधित साइट को जोड़ना होगा docker.list के लिए apt package manager, ताकि यह डॉकर साइट से डॉकर पैकेज का पता लगा सके और उसी के अनुसार उन्हें डाउनलोड कर सके।

  • सटीक 12.04 (LTS) ise डिब https://apt.dockerproject.org/repoubuntu- सटीक मुख्य

  • भरोसेमंद 14.04 (LTS)। डिब https://apt.dockerproject.org/repo/ ubuntu-भरोसेमंद मुख्य

  • विली 15.10। डिब https://apt.dockerproject.org/repo उबंटु-विली मुख्य

  • Xenial 16.04 (LTS) - https://apt.dockerproject.org/repo ubuntu-xenial मुख्य

चूँकि हमारा OS उबंटू 14.04 है, इसलिए हम रिपोजिटरी नाम का उपयोग “deb” के रूप में करेंगे https://apt.dockerproject.org/repoubuntu-भरोसेमंद मुख्य ”।

और फिर, हमें इस रिपॉजिटरी को इसमें जोड़ना होगा docker.list जैसा कि ऊपर उल्लेख किया गया है।

echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main” 
   | sudo tee /etc/apt/sources.list.d/docker.list

Step 6 - अगला, हम जारी करते हैं apt-get update command उबंटू सिस्टम पर संकुल को अद्यतन करने के लिए।

Step 7 - यदि आप यह सत्यापित करना चाहते हैं कि पैकेज प्रबंधक सही रिपॉजिटरी की ओर इशारा कर रहा है, तो आप इसे जारी करके कर सकते हैं apt-cache command

apt-cache policy docker-engine

आउटपुट में, आपको लिंक मिलेगा https://apt.dockerproject.org/repo/

Step 8 - जारी करें apt-get update command स्थानीय प्रणाली पर सभी पैकेज सुनिश्चित करने के लिए तारीख तक हैं।

Step 9 - उबंटू ट्रस्टी, विली और ज़ेनियल के लिए, हमें linux-image-extra- * कर्नेल पैकेज स्थापित करने होंगे, जो किसी को उपयोग करने की अनुमति देता है aufs storage driver। इस ड्राइवर का उपयोग डॉकर के नए संस्करणों द्वारा किया जाता है।

यह निम्न कमांड का उपयोग करके किया जा सकता है।

sudo apt-get install linux-image-extra-$(uname -r) 
   linux-image-extra-virtual

Step 10 - डॉकर स्थापित करने के लिए अंतिम चरण है और हम निम्नलिखित कमांड के साथ ऐसा कर सकते हैं -

sudo apt-get install –y docker-engine

यहाँ, apt-get Docker-इंजन छवि को Docker वेबसाइट से डाउनलोड करने और Docker स्थापित करने के लिए स्थापित विकल्प का उपयोग करता है।

डॉकर-इंजन उबंटू-आधारित प्रणालियों के लिए डोकर कॉर्पोरेशन का आधिकारिक पैकेज है।

अगले भाग में, हम देखेंगे कि डॉकर के संस्करण को कैसे जांचना है जो स्थापित किया गया था।

डॉकर संस्करण

डॉकर के संस्करण को देखने के लिए, आप निम्नलिखित कमांड जारी कर सकते हैं -

वाक्य - विन्यास

docker version

विकल्प

  • version - इसका उपयोग यह सुनिश्चित करने के लिए किया जाता है कि डॉकर कमांड इंस्टॉल किए गए डॉकर संस्करण को लौटाता है।

प्रतिलाभ की मात्रा

आउटपुट सिस्टम पर स्थापित डॉकर संस्करण के विभिन्न विवरण प्रदान करेगा।

उदाहरण

sudo docker version

उत्पादन

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलेंगे -

डॉकर जानकारी

सिस्टम पर चल रहे डॉकटर के बारे में अधिक जानकारी देखने के लिए, आप निम्न आदेश जारी कर सकते हैं -

वाक्य - विन्यास

docker info

विकल्प

  • info - यह सुनिश्चित करने के लिए उपयोग किया जाता है कि डॉकर कमांड इंस्टॉल की गई डॉकर सेवा की विस्तृत जानकारी लौटाए।

प्रतिलाभ की मात्रा

आउटपुट सिस्टम पर स्थापित डोकर के विभिन्न विवरण प्रदान करेगा जैसे कि -

  • कंटेनरों की संख्या
  • छवियों की संख्या
  • डॉकटर द्वारा उपयोग किया जाने वाला स्टोरेज ड्राइवर
  • डॉकर द्वारा उपयोग की जाने वाली रूट डायरेक्टरी
  • Docker द्वारा उपयोग किया गया निष्पादन ड्राइवर

उदाहरण

sudo docker info

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो हमें निम्नलिखित परिणाम मिलेंगे -

विंडोज के लिए डॉकर

डॉकर को विंडोज के लिए आउट-ऑफ-द-बॉक्स समर्थन है, लेकिन विंडोज के लिए डॉकर को स्थापित करने के लिए आपको निम्नलिखित कॉन्फ़िगरेशन की आवश्यकता है।

सिस्टम आवश्यकताएं

विंडोज ओएस विंडोज 10 64 बिट
याद 2 जीबी रैम (अनुशंसित)

आप विंडोज के लिए डॉकर डाउनलोड कर सकते हैं - https://docs.docker.com/docker-for-windows/

डॉकर टूलबॉक्स

डॉकर टूलबॉक्स विंडोज के पुराने संस्करणों के लिए डिजाइन किया गया है, जैसे विंडोज 8.1 और विंडोज 7. आपको विंडोज के लिए डॉकर को स्थापित करने के लिए निम्नलिखित कॉन्फ़िगरेशन की आवश्यकता है।

सिस्टम आवश्यकताएं

विंडोज ओएस विंडोज 7, 8, 8.1
याद 2 जीबी रैम (अनुशंसित)
वर्चुअलाइजेशन यह सक्षम होना चाहिए।

आप डॉकर टूलबॉक्स डाउनलोड कर सकते हैं - https://www.docker.com/products/docker-toolbox

आइए प्रत्येक उत्पाद की स्थापना से गुजरें।

विंडोज के लिए डॉकर

इंस्टॉलर डाउनलोड हो जाने के बाद, इंस्टॉलर को शुरू करने के लिए इसे डबल क्लिक करें और फिर नीचे दिए गए चरणों का पालन करें।

Step 1 - इंस्टॉलेशन की शर्तों को आगे बढ़ाने के लिए एग्रीमेंट की शर्तों और फिर इंस्टॉल बटन पर क्लिक करें।

Step 2 - एक बार पूरा होने पर, इंस्टॉलेशन पूरा करने के लिए फिनिश बटन पर क्लिक करें।

डॉकर टूलबॉक्स

इंस्टॉलर डाउनलोड हो जाने के बाद, इंस्टॉलर को शुरू करने के लिए इसे डबल क्लिक करें और फिर नीचे दिए गए चरणों का पालन करें।

Step 1 - स्टार्ट स्क्रीन पर नेक्स्ट बटन पर क्लिक करें।

Step 2 - अगली स्क्रीन पर डिफॉल्ट लोकेशन रखें और नेक्स्ट बटन पर क्लिक करें।

Step 3 - डिफ़ॉल्ट घटकों को रखें और आगे बढ़ने के लिए अगला बटन क्लिक करें।

Step 4 - एडिश्नल टास्क को वैसे ही रखें जैसे वे हैं और फिर नेक्स्ट बटन पर क्लिक करें।

Step 5 - अंतिम स्क्रीन पर, इंस्टॉल बटन पर क्लिक करें।

डॉकर टूलबॉक्स के साथ काम करना

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

इसके बाद, आप देखेंगे कि जब डॉकर टूलबॉक्स लॉन्च किया गया है, तो कॉन्फ़िगरेशन को किया जाएगा।

एक बार हो जाने के बाद, आप डॉकर को कॉन्फ़िगर और लॉन्च करेंगे। आपको डॉकर के लिए एक इंटरैक्टिव शेल मिलेगा।

यह परीक्षण करने के लिए कि डॉकर ठीक से चलता है, हम डॉकर का उपयोग कर सकते हैं run command डाउनलोड करने और चलाने के लिए एक सरल HelloWorld Docker container

डॉकटर का काम run command नीचे दिया गया है -

docker run

इस कमांड का इस्तेमाल डॉकटर कंटेनर में कमांड चलाने के लिए किया जाता है।

वाक्य - विन्यास

docker run image

विकल्प

  • Image - यह उस छवि का नाम है, जिसका उपयोग कंटेनर को चलाने के लिए किया जाता है।

प्रतिलाभ की मात्रा

आउटपुट वांछित कंटेनर में कमांड चलाएगा।

उदाहरण

sudo docker run hello-world

यह कमांड डाउनलोड करेगा hello-world छवि, यदि यह पहले से मौजूद नहीं है, और चलाएं hello-world एक कंटेनर के रूप में।

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो हमें निम्नलिखित परिणाम मिलेंगे -

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

Docker run –it ubuntu bash

यहां आप डॉकर को इसके माध्यम से इंटरएक्टिव मोड में कमांड चलाने के लिए कह रहे हैं –it विकल्प।

आउटपुट में आप देख सकते हैं कि उबंटू इमेज डाउनलोड और रन हो गई है और फिर आपको उबंटू कंटेनर में रूट यूजर के रूप में लॉग इन किया जाएगा।

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

डॉकटर हब के लिए आधिकारिक साइट है - https://www.docker.com/community-edition#/add_ons

Step 1 - सबसे पहले आपको डॉकर हब पर एक साधारण साइन-अप करना होगा।

Step 2 - एक बार जब आप साइन अप कर लेते हैं, तो आपको डॉकर हब में लॉग इन किया जाएगा।

Step 3 - अगला, आइए ब्राउज़ करें और जेनकिंस छवि ढूंढें।

Step 4 - यदि आप उसी पृष्ठ पर नीचे स्क्रॉल करते हैं, तो आप डॉकर को देख सकते हैं pullआदेश। इसका उपयोग स्थानीय उबंटू सर्वर पर जेनकिन्स छवि को डाउनलोड करने के लिए किया जाएगा।

Step 5 - अब, Ubuntu सर्वर पर जाएं और निम्न कमांड चलाएं -

sudo docker pull jenkins

जेनकिंस को चलाने के लिए, आपको निम्नलिखित कमांड चलाने की आवश्यकता है -

sudo docker run -p 8080:8080 -p 50000:50000 jenkins

उपरोक्त के बारे में निम्नलिखित बातों पर ध्यान दें sudo कमांड -

  • हम उपयोग कर रहे हैं sudo यह सुनिश्चित करने के लिए कमांड कि यह रूट एक्सेस के साथ चलता है।

  • यहाँ, jenkins उस छवि का नाम है जिसे हम डॉकर हब से डाउनलोड करना चाहते हैं और हमारे उबंटू मशीन पर स्थापित करना चाहते हैं।

  • -p हमारे मुख्य उबंटू सर्वर में आंतरिक डॉकर छवि के पोर्ट नंबर को मैप करने के लिए उपयोग किया जाता है ताकि हम तदनुसार कंटेनर तक पहुंच सकें।

फिर आपके पास जेनकिंस उबंटू मशीन पर कंटेनर के रूप में सफलतापूर्वक चलेंगे।

Docker में, सब कुछ Images पर आधारित है। एक छवि एक फ़ाइल सिस्टम और मापदंडों का एक संयोजन है। आइए डॉकटर में निम्नलिखित कमांड का एक उदाहरण लेते हैं।

docker run hello-world
  • डॉकर कमांड विशिष्ट है और ऑपरेटिंग सिस्टम पर डॉकर प्रोग्राम को बताता है कि कुछ करने की आवश्यकता है।

  • run कमांड का उपयोग यह उल्लेख करने के लिए किया जाता है कि हम एक छवि का एक उदाहरण बनाना चाहते हैं, जिसे तब ए कहा जाता है container

  • अंत में, "हैलो-वर्ल्ड" उस छवि का प्रतिनिधित्व करता है जिसमें से कंटेनर बनाया गया है।

अब देखते हैं कि हम अपने उबंटू मशीन पर CentOS चलाने के लिए Docker Hub में उपलब्ध CentOS इमेज का उपयोग कैसे कर सकते हैं। हम अपने उबंटू मशीन पर निम्नलिखित कमांड निष्पादित करके ऐसा कर सकते हैं -

sudo docker run centos –it /bin/bash

उपरोक्त के बारे में निम्नलिखित बातों पर ध्यान दें sudo कमांड -

  • हम उपयोग कर रहे हैं sudo यह सुनिश्चित करने के लिए आदेश दें कि यह साथ चलता है root पहुंच।

  • यहाँ, centos उस छवि का नाम है जिसे हम डॉकर हब से डाउनलोड करना चाहते हैं और हमारे उबंटू मशीन पर स्थापित करना चाहते हैं।

  • ─it यह उल्लेख करने के लिए उपयोग किया जाता है कि हम अंदर भागना चाहते हैं interactive mode

  • /bin/bash CentOS उठने और चलने के बाद बैश शेल को चलाने के लिए उपयोग किया जाता है।

डॉकटर छवियां प्रदर्शित करना

सिस्टम पर डॉकर छवियों की सूची देखने के लिए, आप निम्नलिखित कमांड जारी कर सकते हैं।

docker images

इस कमांड का उपयोग सिस्टम पर वर्तमान में स्थापित सभी चित्रों को प्रदर्शित करने के लिए किया जाता है।

वाक्य - विन्यास

docker images

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

आउटपुट सिस्टम पर छवियों की सूची प्रदान करेगा।

उदाहरण

sudo docker images

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

उपरोक्त आउटपुट से, आप देख सकते हैं कि सर्वर में तीन चित्र हैं: centos, newcentos, तथा jenkins। प्रत्येक छवि के निम्नलिखित गुण हैं -

  • TAG - यह तार्किक रूप से टैग छवियों के लिए उपयोग किया जाता है।

  • Image ID - इसका उपयोग छवि को विशिष्ट रूप से पहचानने के लिए किया जाता है।

  • Created - छवि बनाने के बाद से दिनों की संख्या।

  • Virtual Size - छवि का आकार।

डाउनलोडिंग डॉकर इमेजेज

छवियों को डॉकर हब से डाउनलोड किया जा सकता है runआदेश। आइए विस्तार से देखें कि हम यह कैसे कर सकते हैं।

वाक्य - विन्यास

डॉकटर कंटेनर में कमांड चलाने के लिए निम्न सिंटैक्स का उपयोग किया जाता है।

docker run image

विकल्प

  • Image - यह उस छवि का नाम है, जिसका उपयोग कंटेनर को चलाने के लिए किया जाता है।

प्रतिलाभ की मात्रा

आउटपुट वांछित कंटेनर में कमांड चलाएगा।

उदाहरण

sudo docker run centos

यह कमांड डाउनलोड करेगा centos छवि, यदि यह पहले से मौजूद नहीं है, और एक कंटेनर के रूप में ओएस चलाएं।

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो हमें निम्नलिखित परिणाम मिलेंगे -

अब आपको CentOS Docker इमेज डाउनलोड होती दिखाई देगी। अब, अगर हम डॉकर चलाते हैंimages सिस्टम पर छवियों की सूची देखने के लिए, हमें देखने में सक्षम होना चाहिए centos साथ ही छवि।

डॉकटर छवियां निकालना

सिस्टम पर डोकर की छवियों को इसके माध्यम से हटाया जा सकता है docker rmiआदेश। आइए इस कमांड को अधिक विस्तार से देखें।

docker rmi

इस कमांड का उपयोग डॉकर इमेज को हटाने के लिए किया जाता है।

वाक्य - विन्यास

docker rmi ImageID

विकल्प

  • ImageID - यह उस छवि की आईडी है जिसे निकालने की आवश्यकता है।

प्रतिलाभ की मात्रा

आउटपुट हटाए गए छवि की छवि आईडी प्रदान करेगा।

उदाहरण

sudo docker rmi 7a86f8ffcb25

यहाँ, 7a86f8ffcb25 की छवि आईडी है newcentos छवि।

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

आइए देखें छवियों पर कुछ और डॉकर कमांड।

docker छवियाँ -q

इस कमांड का उपयोग केवल इमेज आईडी इमेज की वापसी के लिए किया जाता है।

वाक्य - विन्यास

docker images

विकल्प

  • q - यह डॉकटर कमांड को केवल छवि आईडी वापस करने के लिए कहता है।

प्रतिलाभ की मात्रा

आउटपुट केवल डॉकर होस्ट की छवियों की छवि आईडी दिखाएगा।

उदाहरण

sudo docker images -q

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

docker निरीक्षण करते हैं

इस कमांड का उपयोग किसी इमेज या कंटेनर के विवरण को देखने के लिए किया जाता है।

वाक्य - विन्यास

docker inspect Repository

विकल्प

  • Repository - यह इमेज का नाम है।

प्रतिलाभ की मात्रा

आउटपुट छवि पर विस्तृत जानकारी दिखाएगा।

उदाहरण

sudo docker inspect jenkins

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

कंटेनर डॉकर छवियों के उदाहरण हैं जिन्हें डॉकर रन कमांड का उपयोग करके चलाया जा सकता है। डॉकटर का मूल उद्देश्य कंटेनरों को चलाना है। आइए चर्चा करें कि कंटेनरों के साथ कैसे काम करें।

एक कंटेनर चल रहा है

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

sudo docker run –it centos /bin/bash

फिर Crtl + p को हिट करें और आप अपने OS शेल पर लौट आएंगे।

आप तब Ubuntu सर्वर पर CentOS सिस्टम के उदाहरण में चल रहे होंगे।

कंटेनरों की सूची

एक मशीन के माध्यम से सभी कंटेनरों को सूचीबद्ध कर सकता है docker psआदेश। इस कमांड का उपयोग वर्तमान में चल रहे कंटेनरों को वापस करने के लिए किया जाता है।

docker ps

वाक्य - विन्यास

docker ps

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

आउटपुट वर्तमान में चल रहे कंटेनरों को दिखाएगा।

उदाहरण

sudo docker ps

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

आइए देखते हैं कुछ और बदलाव docker ps आदेश।

docker ps -a

इस कमांड का उपयोग सिस्टम के सभी कंटेनरों को सूचीबद्ध करने के लिए किया जाता है

वाक्य - विन्यास

docker ps -a

विकल्प

  • ─a - यह बताता है docker ps सिस्टम पर सभी कंटेनरों को सूचीबद्ध करने के लिए कमांड।

प्रतिलाभ की मात्रा

आउटपुट सभी कंटेनरों को दिखाएगा।

उदाहरण

sudo docker ps -a

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर इतिहास

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

वाक्य - विन्यास

docker history ImageID

विकल्प

  • ImageID - यह इमेज आईडी है जिसके लिए आप उन सभी कमांड को देखना चाहते हैं जो इसके खिलाफ चलाए गए थे।

प्रतिलाभ की मात्रा

आउटपुट उस छवि के विरुद्ध चलने वाले सभी कमांड को दिखाएगा।

उदाहरण

sudo docker history centos

उपरोक्त कमांड उन सभी कमांड को दिखाएगा जो इसके खिलाफ चलाए गए थे centos छवि।

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

इस अध्याय में, हम विस्तार से पता लगाएंगे कि हम कंटेनरों के साथ क्या कर सकते हैं।

डॉकटर शीर्ष

इस आदेश के साथ, आप एक कंटेनर के भीतर शीर्ष प्रक्रियाओं को देख सकते हैं।

वाक्य - विन्यास

docker top ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसके लिए आप शीर्ष प्रक्रियाओं को देखना चाहते हैं।

प्रतिलाभ की मात्रा

आउटपुट एक कंटेनर के भीतर शीर्ष-स्तरीय प्रक्रियाओं को दिखाएगा।

उदाहरण

sudo docker top 9f215ed0b0d3

उपरोक्त आदेश एक कंटेनर के भीतर शीर्ष-स्तरीय प्रक्रियाओं को दिखाएगा।

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर बंद करो

इस कमांड का उपयोग रनिंग कंटेनर को रोकने के लिए किया जाता है।

वाक्य - विन्यास

docker stop ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसे बंद करने की आवश्यकता है।

प्रतिलाभ की मात्रा

आउटपुट रुके हुए कंटेनर की आईडी देगा।

उदाहरण

sudo docker stop 9f215ed0b0d3

उपरोक्त आदेश डॉकटर कंटेनर को रोक देगा 9f215ed0b0d3

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

docker आरएम

इस कमांड का उपयोग कंटेनर को हटाने के लिए किया जाता है।

वाक्य - विन्यास

docker rm ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसे निकालने की आवश्यकता है।

प्रतिलाभ की मात्रा

आउटपुट हटाए गए कंटेनर की आईडी देगा।

उदाहरण

sudo docker rm 9f215ed0b0d3

उपरोक्त कमांड डॉकटर कंटेनर को हटा देगा 9f215ed0b0d3

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर आँकड़े

इस कमांड का उपयोग रनिंग कंटेनर के आंकड़े प्रदान करने के लिए किया जाता है।

वाक्य - विन्यास

docker stats ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसके लिए आँकड़े प्रदान करने की आवश्यकता है।

प्रतिलाभ की मात्रा

आउटपुट कंटेनर के सीपीयू और मेमोरी उपयोग को दिखाएगा।

उदाहरण

sudo docker stats 9f215ed0b0d3

उपरोक्त कमांड कंटेनर का सीपीयू और मेमोरी उपयोग प्रदान करेगा 9f215ed0b0d3

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर संलग्न

इस कमांड का उपयोग रनिंग कंटेनर से जुड़ने के लिए किया जाता है।

वाक्य - विन्यास

docker attach ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसमें आपको संलग्न करना होगा।

प्रतिलाभ की मात्रा

कोई नहीं

उदाहरण

sudo docker attach 07b0b6f434fe

उपरोक्त कमांड डॉकर कंटेनर से जुड़ी होगी 07b0b6f434fe

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

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

डॉक पोज

इस कमांड का उपयोग रनिंग कंटेनर में प्रक्रियाओं को रोकने के लिए किया जाता है।

वाक्य - विन्यास

docker pause ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसमें आपको कंटेनर में प्रक्रियाओं को रोकना होगा।

प्रतिलाभ की मात्रा

रुके हुए कंटेनर का कंटेनर।

उदाहरण

sudo docker pause 07b0b6f434fe

उपरोक्त आदेश एक चल रहे कंटेनर में प्रक्रियाओं को रोक देगा 07b0b6f434fe

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर अनपोज

इस कमांड का उपयोग किया जाता है unpause एक चल रहे कंटेनर में प्रक्रियाओं।

वाक्य - विन्यास

docker unpause ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसमें आपको कंटेनर में प्रक्रियाओं को अनपॉज़ करना होगा।

प्रतिलाभ की मात्रा

चल रहे कंटेनर का कंटेनर।

उदाहरण

sudo docker unpause 07b0b6f434fe

उपरोक्त कमांड एक चल रहे कंटेनर में प्रक्रियाओं को अनपॉज़ करेगा: 07b0b6f434fe

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर मारते हैं

इस कमांड का उपयोग रनिंग कंटेनर में प्रक्रियाओं को मारने के लिए किया जाता है।

वाक्य - विन्यास

docker kill ContainerID

विकल्प

  • ContainerID - यह कंटेनर आईडी है जिसमें आपको कंटेनर में प्रक्रियाओं को मारने की आवश्यकता है।

प्रतिलाभ की मात्रा

चल रहे कंटेनर का कंटेनर।

उदाहरण

sudo docker kill 07b0b6f434fe

उपरोक्त कमांड रनिंग कंटेनर में प्रक्रियाओं को मार देगा 07b0b6f434fe

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डॉकटर - कंटेनर जीवनचक्र

निम्नलिखित दृष्टांत डॉकटर कंटेनर के पूरे जीवनचक्र की व्याख्या करता है।

  • प्रारंभ में, डॉकर कंटेनर में होगा created राज्य।

  • इसके बाद डॉकटर कंटेनर चालू अवस्था में चला जाता है जब डॉकर run कमांड का उपयोग किया जाता है।

  • डॉकटर kill मौजूदा डॉकटर कंटेनर को मारने के लिए कमांड का उपयोग किया जाता है।

  • डॉकटर pause मौजूदा डॉकटर कंटेनर को रोकने के लिए कमांड का उपयोग किया जाता है।

  • डॉकटर stop मौजूदा डॉकटर कंटेनर को रोकने के लिए कमांड का उपयोग किया जाता है।

  • डॉकटर run कमांड का उपयोग कंटेनर को वापस से रखने के लिए किया जाता है stopped राज्य को ए running राज्य।

निम्नलिखित छवि मानक और पारंपरिक वास्तुकला को दर्शाती है virtualization

  • सर्वर भौतिक सर्वर है जिसका उपयोग कई वर्चुअल मशीनों को होस्ट करने के लिए किया जाता है।

  • होस्ट OS, लिनक्स या विंडोज जैसी आधार मशीन है।

  • हाइपरविजर या तो VMWare या विंडोज हाइपर वी है जो वर्चुअल मशीनों को होस्ट करने के लिए उपयोग किया जाता है।

  • फिर आप अतिथि OS के रूप में मौजूदा हाइपरविजर के शीर्ष पर वर्चुअल मशीन के रूप में कई ऑपरेटिंग सिस्टम स्थापित करेंगे।

  • फिर आप प्रत्येक अतिथि OS के शीर्ष पर अपने एप्लिकेशन होस्ट करेंगे।

निम्नलिखित छवि वर्चुअलाइजेशन की नई पीढ़ी को दिखाती है जो डॉकर्स के माध्यम से सक्षम है। आइए विभिन्न परतों पर एक नजर डालें।

  • सर्वर भौतिक सर्वर है जिसका उपयोग कई वर्चुअल मशीनों को होस्ट करने के लिए किया जाता है। तो यह परत वही रहती है।

  • होस्ट OS, लिनक्स या विंडोज जैसी आधार मशीन है। तो यह परत वही रहती है।

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

  • अब सभी ऐप्स डॉकर कंटेनर के रूप में चलते हैं।

इस आर्किटेक्चर में स्पष्ट लाभ यह है कि आपको अतिथि OS के लिए अतिरिक्त हार्डवेयर की आवश्यकता नहीं है। सब कुछ डॉकटर कंटेनरों के रूप में काम करता है।

Docker इंजन की अच्छी बात यह है कि इसे विभिन्न ऑपरेटिंग सिस्टम पर काम करने के लिए डिज़ाइन किया गया है। हमने पहले ही विंडोज पर इंस्टॉलेशन देखा है और लिनक्स सिस्टम पर सभी डॉकटर कमांड देखे हैं। अब विंडोज ओएस पर विभिन्न डॉकर कमांड देखें।

डॉकटर छवियां

चलो डॉकटर चलाओ images विंडोज होस्ट पर कमांड।

यहाँ से, हम देख सकते हैं कि हमारे पास दो चित्र हैं - ubuntu तथा hello-world

एक कंटेनर चल रहा है

अब विंडोज डॉकर होस्ट में एक कंटेनर चलाते हैं।

हम देख सकते हैं कि कंटेनर को चलाकर, हम अब विंडोज होस्ट पर उबंटू कंटेनर चला सकते हैं।

सभी कंटेनरों को सूचीबद्ध करना

विंडोज होस्ट पर सभी कंटेनरों को सूचीबद्ध करते हैं।

एक कंटेनर रोक रहा है

आइए अब विंडोज होस्ट पर चल रहे कंटेनर को बंद करें।

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

इस अध्याय में, हम डॉकर को कॉन्फ़िगर करने के लिए विभिन्न विकल्पों को देखेंगे।

सेवा कर्ता बंद करो

इस कमांड का इस्तेमाल डॉकटर को रोकने के लिए किया जाता है daemon प्रक्रिया।

वाक्य - विन्यास

service docker stop

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

एक संदेश जो दिखा रहा है कि डॉकर प्रक्रिया बंद हो गई है।

उदाहरण

sudo service docker stop

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

सेवा शुरू करने वाला

इस कमांड का उपयोग डॉकर डेमन प्रक्रिया को शुरू करने के लिए किया जाता है।

वाक्य - विन्यास

service docker start

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

एक संदेश जो दिखा रहा है कि डॉकर प्रक्रिया शुरू हो गई है।

उदाहरण

sudo service docker start

उत्पादन

जब हम उपरोक्त कमांड चलाते हैं, तो यह निम्नलिखित परिणाम देगा -

डिफ़ॉल्ट रूप से, जब आप एक कंटेनर लॉन्च करते हैं, तो आप भी एक का उपयोग करेंगे shell commandकंटेनर को लॉन्च करते समय जैसा कि नीचे दिखाया गया है। यह हमने पहले के अध्यायों में देखा है जब हम कंटेनरों के साथ काम कर रहे थे।

उपरोक्त स्क्रीनशॉट में, आप देख सकते हैं कि हमने निम्नलिखित कमांड जारी की है -

sudo docker run –it centos /bin/bash

हमने एक नया कंटेनर बनाने के लिए इस कमांड का उपयोग किया और फिर कंटेनर से बाहर निकलने के लिए Ctrl + P + Q कमांड का उपयोग किया। यह सुनिश्चित करता है कि कंटेनर से बाहर निकलने के बाद भी कंटेनर मौजूद है।

हम यह सत्यापित कर सकते हैं कि कंटेनर अभी भी डोकर के साथ मौजूद है psआदेश। अगर हमें सीधे कंटेनर से बाहर निकलना होता, तो कंटेनर खुद ही नष्ट हो जाता।

अब कंटेनरों को संलग्न करने और उन्हें नष्ट करने की आवश्यकता के बिना सफाई से बाहर निकलने का एक आसान तरीका है। इसे प्राप्त करने का एक तरीका है, का उपयोग करकेnsenter आदेश।

इससे पहले कि हम दौड़ें nsenter कमांड, आपको पहले स्थापित करना होगा nsenterछवि। यह निम्नलिखित कमांड का उपयोग करके किया जा सकता है -

docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

इससे पहले कि हम उपयोग करें nsenter कमांड, हमें कंटेनर की प्रोसेस आईडी प्राप्त करने की आवश्यकता है, क्योंकि इसके लिए यह आवश्यक है nsenterआदेश। हम डॉकर के जरिए प्रोसेस आईडी प्राप्त कर सकते हैंinspect command और इसे छानकर Pid

जैसा कि ऊपर स्क्रीनशॉट में देखा गया है, हमने सबसे पहले इसका इस्तेमाल किया है docker psरनिंग कंटेनर को देखने के लिए कमांड। हम देख सकते हैं कि ef42a4c5e663 की आईडी के साथ एक रनिंग कंटेनर है।

हम फिर डॉकटर का उपयोग करते हैं inspect इस कंटेनर के कॉन्फ़िगरेशन का निरीक्षण करने के लिए कमांड और फिर उपयोग करें grepप्रक्रिया ID को फ़िल्टर करने के लिए कमांड। और आउटपुट से, हम देख सकते हैं कि प्रोसेस आईडी 2978 है।

अब जब हमारे पास प्रक्रिया आईडी है, हम आगे बढ़ सकते हैं और उपयोग कर सकते हैं nsenter Docker कंटेनर को संलग्न करने के लिए कमांड।

nsenter

यह विधि एक कंटेनर से बाहर निकलने के बिना एक कंटेनर को संलग्न करने की अनुमति देती है।

वाक्य - विन्यास

nsenter –m –u –n –p –i –t containerID कमांड

विकल्प

  • -u का उल्लेख करने के लिए प्रयोग किया जाता है Uts namespace

  • -m का उल्लेख करने के लिए प्रयोग किया जाता है mount namespace

  • -n का उल्लेख करने के लिए प्रयोग किया जाता है network namespace

  • -p का उल्लेख करने के लिए प्रयोग किया जाता है process namespace

  • -i इंटरैक्टिव मोड में कंटेनर को चलाने के लिए है।

  • -t कंटेनर के I / O स्ट्रीम को होस्ट OS से कनेक्ट करने के लिए उपयोग किया जाता है।

  • containerID - यह कंटेनर की आईडी है।

  • Command - यह कंटेनर के भीतर चलने का कमांड है।

प्रतिलाभ की मात्रा

कोई नहीं

उदाहरण

sudo nsenter –m –u –n –p –i –t 2978 /bin/bash

उत्पादन

आउटपुट से, हम निम्नलिखित बातों का पालन कर सकते हैं -

  • शीघ्र परिवर्तन होता है bash shell सीधे जब हम जारी करते हैं nsenter आदेश।

  • हम तो जारी करते हैं exitआदेश। अब आम तौर पर अगर आप का उपयोग नहीं कियाnsenterआदेश, कंटेनर नष्ट हो जाएगा। लेकिन आपको ध्यान होगा कि जब हम दौड़ते हैंnsenter आदेश, कंटेनर अभी भी ऊपर और चल रहा है।

पहले के अध्यायों में, हमने विभिन्न इमेज फाइल देखी हैं जैसे कि Centos जो कि डाउनलोड हो जाती हैं Docker hubजिससे आप कंटेनर को स्पिन कर सकते हैं। एक उदाहरण फिर से नीचे दिखाया गया है।

अगर हम Docker का उपयोग करते हैं imagesकमांड, हम अपने सिस्टम में मौजूदा इमेज देख सकते हैं। उपरोक्त स्क्रीनशॉट से, हम देख सकते हैं कि दो चित्र हैं:centos तथा nsenter

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

निम्नलिखित चरण बताते हैं कि आपको डॉकर फाइल बनाने के बारे में कैसे जाना चाहिए।

Step 1 - नामक एक फ़ाइल बनाएँ Docker File और इसका उपयोग करके संपादित करें vim। कृपया ध्यान दें कि फ़ाइल का नाम राजधानी के रूप में "D" के साथ "Dockerfile" होना चाहिए।

Step 2 - निम्नलिखित निर्देशों का उपयोग करके अपनी डॉक फ़ाइल बनाएँ।

#This is a sample Image 
FROM ubuntu 
MAINTAINER [email protected] 

RUN apt-get update 
RUN apt-get install –y nginx 
CMD [“echo”,”Image created”]

उपरोक्त फ़ाइल के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • पहली पंक्ति "# यह एक नमूना है छवि" एक टिप्पणी है। आप Docker फ़ाइल की सहायता से टिप्पणी जोड़ सकते हैं# आदेश

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

  • अगला कमांड वह व्यक्ति है जो इस छवि को बनाए रखने वाला है। यहाँ आप निर्दिष्ट करेंMAINTAINER कीवर्ड और सिर्फ ईमेल आईडी का उल्लेख करें।

  • RUNकमांड का उपयोग छवि के खिलाफ निर्देश चलाने के लिए किया जाता है। हमारे मामले में, हम पहले अपने उबंटू सिस्टम को अपडेट करते हैं और फिर नगणक्स सर्वर को हमारे ऊपर स्थापित करते हैंubuntu छवि।

  • अंतिम कमांड का उपयोग उपयोगकर्ता को संदेश प्रदर्शित करने के लिए किया जाता है।

Step 3- फाइल को सेव करें। अगले अध्याय में, हम चर्चा करेंगे कि चित्र कैसे बनाया जाए।

हमने पिछले अध्याय में अपनी डॉकटर फ़ाइल बनाई। अब डॉकर फ़ाइल बनाने का समय आ गया है। Docker फ़ाइल को निम्न कमांड के साथ बनाया जा सकता है -

docker build

आइए इस कमांड के बारे में अधिक जानें।

निर्माण करने वाला

यह विधि उपयोगकर्ताओं को अपनी डॉकर छवियों का निर्माण करने की अनुमति देती है।

वाक्य - विन्यास

docker build  -t ImageName:TagName dir

विकल्प

  • -t - छवि के लिए एक टैग का उल्लेख करना है

  • ImageName - यह वह नाम है जिसे आप अपनी छवि को देना चाहते हैं।

  • TagName - यह वह टैग है जिसे आप अपनी छवि को देना चाहते हैं।

  • Dir - निर्देशिका जहां डॉकर फ़ाइल मौजूद है।

प्रतिलाभ की मात्रा

कोई नहीं

उदाहरण

sudo docker build –t myimage:0.1.

यहाँ, myimage नाम हम छवि के लिए दे रहे हैं और 0.1 टैग संख्या है जो हम अपनी छवि को दे रहे हैं।

चूंकि डॉकर फाइल वर्तमान कार्यशील निर्देशिका में है, इसलिए हमने "" का उपयोग किया। वर्तमान कार्य निर्देशिका को सूचित करने के लिए कमांड के अंत में।

उत्पादन

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

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

फिर आपको सफलतापूर्वक निर्मित संदेश और नई छवि की आईडी दिखाई देगी। जब आप डॉकर चलाते हैंimages command, तब आप अपनी नई छवि देख पाएंगे।

अब आप अपनी नई छवि से कंटेनर बना सकते हैं।

सार्वजनिक रिपॉजिटरी का उपयोग डॉकरों की छवियों को होस्ट करने के लिए किया जा सकता है जिसका उपयोग हर कोई कर सकता है। एक उदाहरण छवियां हैं जो डॉकर हब में उपलब्ध हैं। Centos, Ubuntu और Jenkins जैसी अधिकांश छवियां सभी के लिए सार्वजनिक रूप से उपलब्ध हैं। हम अपनी छवियों को डोकर हब पर सार्वजनिक रिपॉजिटरी में प्रकाशित करके भी उपलब्ध करा सकते हैं।

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

यहाँ, हमारे पास है myimage:0.1छवि जो "बिल्डिंग डॉकर फाइल" अध्याय के एक भाग के रूप में बनाई गई थी। Docker public रिपॉजिटरी में अपलोड करने के लिए इसका उपयोग करते हैं।

निम्नलिखित चरण बताते हैं कि आप सार्वजनिक रिपॉजिटरी में एक छवि कैसे अपलोड कर सकते हैं।

Step 1- डॉकर हब में लॉग इन करें और अपना भंडार बनाएं। यह वह रिपॉजिटरी है जहां आपकी छवि संग्रहीत की जाएगी। के लिए जाओhttps://hub.docker.com/ और अपने क्रेडेंशियल्स के साथ लॉग इन करें।

Step 2 - उपरोक्त स्क्रीन पर "रिपोजिटरी बनाएं" बटन पर क्लिक करें और नाम के साथ एक रिपॉजिटरी बनाएं demorep। सुनिश्चित करें कि रिपॉजिटरी की दृश्यता सार्वजनिक है।

रिपॉजिटरी बनने के बाद, का एक नोट बनाएं pull कमांड जो रिपॉजिटरी से जुड़ी है।

pull हमारी रिपॉजिटरी में इस्तेमाल होने वाली कमांड इस प्रकार है -

docker pull demousr/demorep

Step 3- अब डॉकर होस्ट पर वापस जाएं। यहां हमें अपना टैग लगाना होगाmyimageडॉकर हब में बनाए गए नए भंडार के लिए। हम इसे डॉकर के माध्यम से कर सकते हैंtag command

हम इसके बारे में अधिक जानेंगे tag command इस अध्याय में बाद में।

Step 4- कमांड प्रॉम्प्ट से डॉकर हब रिपॉजिटरी में लॉगिन करने के लिए डॉकर लॉगिन कमांड जारी करें। Docker login कमांड आपको Docker Hub रिपॉजिटरी के यूजरनेम और पासवर्ड के लिए संकेत देगा।

Step 5- एक बार छवि टैग हो जाने के बाद, अब छवि को डॉकर हब रिपॉजिटरी में धकेलने का समय आ गया है। हम इसे डॉकर के माध्यम से कर सकते हैंpushआदेश। हम इस अध्याय में बाद में इस कमांड के बारे में अधिक जानेंगे।

डॉकटर टैग

यह विधि एक छवि को संबंधित रिपॉजिटरी में टैग करने की अनुमति देती है।

वाक्य - विन्यास

docker tag imageID Repositoryname

विकल्प

  • imageID - यह ImageID है जिसे रिपॉजिटरी को टैग करने की आवश्यकता है।

  • Repositoryname - यह रिपॉजिटरी नाम है, जिसे ImageID को टैग करने की आवश्यकता है।

प्रतिलाभ की मात्रा

कोई नहीं

उदाहरण

sudo docker tag ab0c1d3744dd demousr/demorep:1.0

उत्पादन

उपरोक्त उदाहरण का एक नमूना आउटपुट नीचे दिया गया है।

डॉकटर पुश

यह विधि डॉकटर हब में छवियों को पुश करने की अनुमति देती है।

वाक्य - विन्यास

docker push Repositoryname

विकल्प

  • Repositoryname - यह रिपॉजिटरी नाम है जिसे डॉकर हब में धकेलने की जरूरत है।

प्रतिलाभ की मात्रा

डॉक्स हब में भंडार की लंबी आईडी को धक्का दिया।

उदाहरण

sudo docker push demousr/demorep:1.0

उत्पादन

यदि आप डॉकर हब पृष्ठ पर वापस जाते हैं और अपने रिपॉजिटरी में जाते हैं, तो आप रिपॉजिटरी में टैग का नाम देखेंगे।

अब हम अपने डॉकर होस्ट पर अपलोड किए गए रिपॉजिटरी को खींचने का प्रयास करते हैं। आइए पहले छवियों को हटाएं,myimage:0.1 तथा demousr/demorep:1.0, स्थानीय डॉकर मेजबान से। आइए डॉकटर का उपयोग करेंpull command डॉकर हब से भंडार को खींचने के लिए।

उपरोक्त स्क्रीनशॉट से, आप देख सकते हैं कि डॉकर pull कमांड ने डॉकर हब से हमारी नई रिपॉजिटरी ले ली है और इसे हमारी मशीन पर रखा है।

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

हमारे उदाहरण में, हम डॉकर हब से जेनकिंस कंटेनर डाउनलोड करने जा रहे हैं। हम फिर डॉकनर होस्ट पर जेनकींस पोर्ट नंबर को पोर्ट नंबर पर मैप करने जा रहे हैं।

Step 1 - सबसे पहले, आपको डॉकर हब पर एक सरल साइन-अप करने की आवश्यकता है।

Step 2 - एक बार जब आप साइन अप कर लेते हैं, तो आपको डॉकर हब में लॉग इन किया जाएगा।

Step 3 - अगला, आइए ब्राउज़ करें और जेनकिंस छवि ढूंढें।

Step 4 - यदि आप उसी पृष्ठ पर नीचे स्क्रॉल करते हैं, तो आप डॉकर को देख सकते हैं pullआदेश। इसका उपयोग स्थानीय उबंटू सर्वर पर जेनकिंस छवि को डाउनलोड करने के लिए किया जाएगा।

Step 5 - अब उबंटू सर्वर पर जाएं और कमांड चलाएं -

sudo docker pull jenkins

Step 6 - कंटेनर द्वारा क्या पोर्ट उजागर किए गए हैं यह समझने के लिए, आपको डॉकर का उपयोग करना चाहिए inspect command छवि का निरीक्षण करने के लिए।

आइए अब इसके बारे में और जानें inspect आदेश।

docker निरीक्षण करते हैं

यह विधि कंटेनर या छवि पर निम्न-स्तरीय जानकारी वापस करने की अनुमति देती है।

वाक्य - विन्यास

docker inspect Container/Image

विकल्प

  • Container/Image - कंटेनर या छवि का निरीक्षण करने के लिए

प्रतिलाभ की मात्रा

JSON प्रारूप में छवि या कंटेनर की निम्न-स्तरीय जानकारी।

उदाहरण

sudo docker inspect jenkins

उत्पादन

का उत्पादन inspectकमांड एक JSON आउटपुट देता है। यदि हम आउटपुट का निरीक्षण करते हैं, तो हम देख सकते हैं कि "एक्सपोज़डपोर्ट्स" का एक भाग है और देखें कि इसमें दो बंदरगाहों का उल्लेख है। एक हैdata port 8080 का और दूसरा है control port 50000 का।

जेनकिंस को चलाने और बंदरगाहों को मैप करने के लिए, आपको डॉकर को बदलना होगा runकमांड और 'p' विकल्प जोड़ें जो पोर्ट मैपिंग को निर्दिष्ट करता है। तो, आपको निम्न कमांड चलाने की आवश्यकता है -

sudo docker run -p 8080:8080 -p 50000:50000 jenkins

पोर्ट नंबर मैपिंग के बाएँ हाथ की ओर मैप करने के लिए Docker होस्ट पोर्ट है और दाएँ हाथ की ओर Docker कंटेनर पोर्ट नंबर है।

जब आप ब्राउज़र खोलते हैं और पोर्ट 8080 पर डॉकर होस्ट में नेविगेट करते हैं, तो आप जेनकिंस को देखेंगे और चलेंगे।

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

Step 1 - डॉकर का प्रयोग करें runनिजी रजिस्ट्री डाउनलोड करने के लिए कमांड। यह निम्न कमांड का उपयोग करके किया जा सकता है।

sudo docker run –d –p 5000:5000 –-name registry registry:2

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • Registry डॉकटर द्वारा प्रबंधित कंटेनर है जिसका उपयोग निजी रिपॉजिटरी की मेजबानी के लिए किया जा सकता है।

  • कंटेनर द्वारा उजागर पोर्ट संख्या 5000 है। इसलिए के साथ –p command, हम अपने लोकलहोस्ट पर उसी पोर्ट नंबर को 5000 पोर्ट नंबर पर मैप कर रहे हैं।

  • हम सिर्फ रजिस्ट्री कंटेनर को "2" के रूप में टैग कर रहे हैं, इसे डॉकर होस्ट पर अंतर करने के लिए।

  • –dविकल्प का उपयोग कंटेनर को अलग मोड में चलाने के लिए किया जाता है। यह इतना है कि कंटेनर पृष्ठभूमि में चल सकता है

Step 2 - चलो ए docker ps यह देखने के लिए कि रजिस्ट्री कंटेनर वास्तव में चल रहा है।

हमने अब पुष्टि कर दी है कि रजिस्ट्री कंटेनर वास्तव में चल रहा है।

Step 3- अब हम अपनी मौजूदा छवियों में से एक को टैग करते हैं ताकि हम इसे अपने स्थानीय भंडार में धकेल सकें। हमारे उदाहरण में, चूंकि हमारे पास हैcentos स्थानीय स्तर पर उपलब्ध छवि, हम इसे अपनी निजी रिपॉजिटरी में टैग करने जा रहे हैं और एक टैग नाम जोड़ सकते हैं centos

sudo docker tag 67591570dd29 localhost:5000/centos

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • 67591570dd29 के लिए छवि आईडी को संदर्भित करता है centos छवि।

  • localhost:5000 हमारे निजी भंडार का स्थान है।

  • हम रिपॉजिटरी नाम को टैग कर रहे हैं centos हमारे निजी भंडार में।

Step 4 - अब डॉकर का इस्तेमाल करते हैं push हमारी निजी रिपॉजिटरी को रिपॉजिटरी पुश करने के लिए कमांड।

sudo docker push localhost:5000/centos

यहाँ, हम धक्का दे रहे हैं centos निजी रिपॉजिटरी में होस्ट की गई छवि localhost:5000

Step 5 - अब हमारे पास मौजूद लोकल इमेज को डिलीट कर दें centos का उपयोग करते हुए docker rmiआदेशों। फिर हम आवश्यक डाउनलोड कर सकते हैंcentos हमारे निजी भंडार से छवि।

sudo docker rmi centos:latest 
sudo docker rmi 67591570dd29

Step 6 - अब जब हमारे पास कोई नहीं है centos हमारे स्थानीय मशीन पर चित्र, अब हम निम्नलिखित डॉकर का उपयोग कर सकते हैं pull खींचने की आज्ञा centos हमारे निजी भंडार से छवि।

sudo docker pull localhost:5000/centos

यहाँ, हम खींच रहे हैं centos निजी रिपॉजिटरी में होस्ट की गई छवि localhost:5000

यदि आप अब अपने सिस्टम पर चित्र देखते हैं, तो आप देखेंगे centos साथ ही छवि।

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

हमारे उदाहरण में, हम अपनी छवि बनाने के लिए Ubuntu पर Apache Web Server का उपयोग करने जा रहे हैं। हमारे वेब सर्वर डॉकर फ़ाइल बनाने के लिए, नीचे दिए गए चरणों का पालन करें।

Step 1- हमारी डॉकर फाइल बनाने के लिए पहला कदम है। का उपयोग करते हैंvim और निम्नलिखित जानकारी के साथ एक डॉक फ़ाइल बनाएँ।

FROM ubuntu 
RUN apt-get update 
RUN apt-get install –y apache2 
RUN apt-get install –y apache2-utils 
RUN apt-get clean 
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]

उपरोक्त कथनों के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • हम पहली बार उबंटू बेस इमेज से अपनी इमेज बना रहे हैं।

  • अगला, हम Ubuntu सिस्टम पर सभी संकुल को अद्यतन करने के लिए RUN कमांड का उपयोग करने जा रहे हैं।

  • इसके बाद, हम अपनी इमेज पर apache2 इंस्टॉल करने के लिए RUN कमांड का उपयोग करते हैं।

  • अगला, हम अपनी छवि पर आवश्यक उपयोगिता एपाचे 2 पैकेजों को स्थापित करने के लिए RUN कमांड का उपयोग करते हैं।

  • अगला, हम सिस्टम से किसी भी अनावश्यक फ़ाइलों को साफ करने के लिए RUN कमांड का उपयोग करते हैं।

  • EXPOSE कमांड का इस्तेमाल कंटेनर में अपाचे के पोर्ट 80 को डॉकर होस्ट को एक्सपोज करने के लिए किया जाता है।

  • अंत में, CMD कमांड का उपयोग बैकग्राउंड में apache2 को चलाने के लिए किया जाता है।

अब जब फ़ाइल विवरण दर्ज किया गया है, तो फ़ाइल को सहेजें।

Step 2 - डॉकर चलाएं buildDocker फ़ाइल बनाने के लिए कमांड। यह निम्नलिखित कमांड का उपयोग करके किया जा सकता है -

sudo docker build –t=”mywebserver” .

हम अपनी छवि को टैग कर रहे हैं mywebserver। इमेज बन जाने के बाद, आपको एक सफल मैसेज मिलेगा कि फाइल बन चुकी है।

Step 3- अब जब वेब सर्वर फाइल बन चुकी है, तो अब इमेज से कंटेनर बनाने का समय आ गया है। हम इसे डॉकर के साथ कर सकते हैंrun आदेश।

sudo docker run –d –p 80:80 mywebserver

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • कंटेनर द्वारा उजागर पोर्ट संख्या 80 है। इसलिए के साथ –p कमांड, हम अपने लोकलहोस्ट पर उसी पोर्ट नंबर को 80 पोर्ट नंबर पर मैप कर रहे हैं।

  • –dविकल्प का उपयोग कंटेनर को अलग मोड में चलाने के लिए किया जाता है। यह इतना है कि कंटेनर पृष्ठभूमि में चल सकता है।

यदि आप अपने वेब ब्राउज़र में डॉकर होस्ट के पोर्ट 80 पर जाते हैं, तो आप अब देखेंगे कि अपाचे ऊपर है और चल रहा है।

डॉकर के पास निर्देश कमांड का एक मेजबान है। ये वो कमांड हैं जो डॉकर फाइल में डाले जाते हैं। आइए देखें जो उपलब्ध हैं।

सीएमडी निर्देश

इस कमांड का उपयोग रनटाइम के दौरान एक कमांड निष्पादित करने के लिए किया जाता है जब कंटेनर निष्पादित होता है।

वाक्य - विन्यास

CMD command param1

विकल्प

  • command - कंटेनर लॉन्च होने पर चलने के लिए यह कमांड है।

  • param1 - यह कमांड में दर्ज किया गया पैरामीटर है।

प्रतिलाभ की मात्रा

आदेश तदनुसार निष्पादित होगा।

उदाहरण

हमारे उदाहरण में, हम एक सरल दर्ज करेंगे Hello World हमारी डॉकटर फ़ाइल में प्रतिध्वनि करें और एक छवि बनाएं और उसमें से एक कंटेनर लॉन्च करें।

Step 1 - निम्नलिखित कमांड के साथ डॉकटर फ़ाइल बनाएँ -

FROM ubuntu 
MAINTAINER [email protected] 
CMD [“echo” , “hello world”]

यहाँ, CMD को प्रिंट करने के लिए उपयोग किया जाता है hello world

Step 2 - Docker का उपयोग करके छवि बनाएं build आदेश।

Step 3 - छवि से एक कंटेनर चलाएँ।

प्रवेश बिंदु

इस कमांड का उपयोग कंटेनर के लिए रनटाइम पर कमांड निष्पादित करने के लिए भी किया जा सकता है। लेकिन हम ENTRYPOINT कमांड के साथ अधिक लचीले हो सकते हैं।

वाक्य - विन्यास

ENTRYPOINT command param1

विकल्प

  • command - कंटेनर लॉन्च होने पर चलने के लिए यह कमांड है।

  • param1 - यह कमांड में दर्ज किया गया पैरामीटर है।

प्रतिलाभ की मात्रा

आदेश तदनुसार निष्पादित होगा।

उदाहरण

ENTRYPOINT के बारे में अधिक समझने के लिए एक उदाहरण पर एक नज़र डालते हैं। हमारे उदाहरण में, हम एक सरल दर्ज करेंगेecho हमारी डॉकर फाइल में कमांड करें और एक इमेज बनाएं और उसमें से एक कंटेनर लॉन्च करें।

Step 1 - निम्नलिखित कमांड के साथ डॉकटर फ़ाइल बनाएँ -

FROM ubuntu 
MAINTAINER [email protected] 
ENTRYPOINT [“echo”]

Step 2 - Docker का उपयोग करके छवि बनाएं build आदेश।

Step 3 - छवि से एक कंटेनर चलाएँ।

ENV

इस कमांड का उपयोग कंटेनर में पर्यावरण चर को सेट करने के लिए किया जाता है।

वाक्य - विन्यास

ENV key value

विकल्प

  • Key - यह पर्यावरण चर की कुंजी है।

  • value - यह पर्यावरण चर के लिए मूल्य है।

प्रतिलाभ की मात्रा

आदेश तदनुसार निष्पादित होगा।

उदाहरण

हमारे उदाहरण में, हम एक सरल दर्ज करेंगे echo हमारी डॉकर फाइल में कमांड करें और एक इमेज बनाएं और उसमें से एक कंटेनर लॉन्च करें।

Step 1 - निम्नलिखित कमांड के साथ डॉकटर फ़ाइल बनाएँ -

FROM ubuntu 
MAINTAINER [email protected] 
ENV var1=Tutorial var2=point

Step 2 - Docker का उपयोग करके छवि बनाएं build आदेश।

Step 3 - छवि से एक कंटेनर चलाएँ।

Step 4 - अंत में, निष्पादित करें env पर्यावरण चर देखने के लिए कमांड।

WORKDIR

इस कमांड का उपयोग कंटेनर की कार्यशील निर्देशिका को सेट करने के लिए किया जाता है।

वाक्य - विन्यास

WORKDIR dirname

विकल्प

  • dirname- नई कार्यशील निर्देशिका। यदि निर्देशिका मौजूद नहीं है, तो इसे जोड़ा जाएगा।

प्रतिलाभ की मात्रा

आदेश तदनुसार निष्पादित होगा।

उदाहरण

हमारे उदाहरण में, हम एक सरल दर्ज करेंगे echo हमारी डॉकर फाइल में कमांड करें और एक इमेज बनाएं और उसमें से एक कंटेनर लॉन्च करें।

Step 1 - निम्नलिखित कमांड के साथ डॉकटर फ़ाइल बनाएँ -

FROM ubuntu 
MAINTAINER [email protected] 
WORKDIR /newtemp 
CMD pwd

Step 2 - Docker का उपयोग करके छवि बनाएं build आदेश।

Step 3 - छवि से एक कंटेनर चलाएँ।

कंटेनर लिंकिंग कई कंटेनरों को एक दूसरे के साथ लिंक करने की अनुमति देता है। यह बंदरगाहों को उजागर करने से बेहतर विकल्प है। चलो कदम से कदम और जानें कि यह कैसे काम करता है।

Step 1 - जेनकिंस छवि डाउनलोड करें, अगर यह पहले से मौजूद नहीं है, तो जेनकिंस का उपयोग करके pull आदेश।

Step 2 - छवि उपलब्ध होने के बाद, कंटेनर चलाएं, लेकिन इस बार, आप कंटेनर का उपयोग करके एक नाम निर्दिष्ट कर सकते हैं –-nameविकल्प। यह हमारा होगाsource container

Step 3- अगला, गंतव्य कंटेनर लॉन्च करने का समय है, लेकिन इस बार, हम इसे अपने स्रोत कंटेनर के साथ जोड़ देंगे। हमारे गंतव्य कंटेनर के लिए, हम मानक Ubuntu छवि का उपयोग करेंगे।

जब आप ए docker ps, आप दोनों कंटेनरों को देखेंगे।

Step 4 - अब, प्राप्त कंटेनर को संलग्न करें।

फिर चला envआदेश। आपको स्रोत कंटेनर से लिंक करने के लिए नए चर दिखाई देंगे।

स्टोरेज ड्राइवर्स

डॉकर में कई स्टोरेज ड्राइवर हैं जो किसी को अंतर्निहित स्टोरेज डिवाइस के साथ काम करने की अनुमति देते हैं। निम्न तालिका भंडारण ड्राइवरों के लिए उपयोग की जाने वाली तकनीक के साथ-साथ विभिन्न भंडारण ड्राइवरों को दिखाती है।

प्रौद्योगिकी भंडारण चालक
OverlayFS ओवरले या ओवरले 2
AUFS aufs
Btrfs brtfs
डिवाइस मैनेजर डिवाइस मैनेजर
वीएफएस वीएफएस
ZFS ZFS

आइए अब कुछ उदाहरणों पर चर्चा करते हैं जिसमें आप विभिन्न स्टोरेज ड्राइवरों का उपयोग करेंगे -

AUFS

  • यह एक स्थिर चालक है; उत्पादन-तैयार अनुप्रयोगों के लिए इस्तेमाल किया जा सकता है।

  • इसमें मेमोरी का अच्छा उपयोग है और कंटेनरों के लिए एक चिकनी डॉकर अनुभव सुनिश्चित करने के लिए अच्छा है।

  • इस ड्राइवर से जुड़ी एक उच्च-लेखन गतिविधि है जिस पर विचार किया जाना चाहिए।

  • यह उन प्रणालियों के लिए अच्छा है जो सेवा प्रकार के काम के रूप में प्लेटफ़ॉर्म के हैं।

Devicemapper

  • यह एक स्थिर चालक है; एक चिकनी डॉकर अनुभव सुनिश्चित करता है।

  • यह ड्राइवर लैब में एप्लिकेशन के परीक्षण के लिए अच्छा है।

  • यह ड्राइवर मुख्य लिनक्स कर्नेल कार्यक्षमता के अनुरूप है।

Btrfs

  • यह ड्राइवर मुख्य लिनक्स कर्नेल कार्यक्षमता के अनुरूप है।

  • इस ड्राइवर से जुड़ी एक उच्च-लेखन गतिविधि है जिस पर विचार किया जाना चाहिए।

  • यह ड्राइवर ऐसे उदाहरणों के लिए अच्छा है जहाँ आप कई बिल्ड पूल बनाए रखते हैं।

Ovelay

  • यह एक स्थिर चालक है और यह मुख्य लिनक्स कर्नेल कार्यक्षमता के अनुरूप है।

  • इसमें मेमोरी का अच्छा उपयोग है।

  • यह ड्राइवर लैब में एप्लिकेशन के परीक्षण के लिए अच्छा है।

ZFS

  • यह एक स्थिर चालक है और यह लैब में अनुप्रयोगों के परीक्षण के लिए अच्छा है।

  • यह उन प्रणालियों के लिए अच्छा है जो प्लेटफ़ॉर्म-ए-ए-सर्विस प्रकार के काम की हैं।

उपयोग किए जा रहे स्टोरेज ड्राइवर को देखने के लिए, जारी करें docker info आदेश।

वाक्य - विन्यास

docker info

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

आदेश डॉकर होस्ट पर स्थापित डॉकटर घटक पर सभी रिश्तेदार जानकारी प्रदान करेगा।

उदाहरण

sudo docker info

उत्पादन

निम्न आउटपुट से पता चलता है कि मुख्य चालक का उपयोग किया जाता है aufs ड्राइवर और रूट निर्देशिका को इसमें संग्रहीत किया जाता है /var/lib/docker/aufs

डेटा वॉल्यूम

डॉकर में, आपके पास एक अलग वॉल्यूम है जो कंटेनरों में साझा किया जा सकता है। इन के रूप में जाना जाता हैdata volumes। डेटा वॉल्यूम की कुछ विशेषताएं हैं -

  • कंटेनर बनाए जाने पर उन्हें आरंभीकृत किया जाता है।
  • उन्हें कई कंटेनरों के बीच साझा और पुन: उपयोग किया जा सकता है।
  • वॉल्यूम में कोई भी परिवर्तन सीधे किए जा सकते हैं।
  • कंटेनर हटने के बाद भी वे मौजूद हैं।

आइए हमारे जेनकींस कंटेनर को देखें। चलो एक करते हैंdocker inspectइस छवि का विवरण देखने के लिए। का आउटपुट लिखने के लिए हम निम्नलिखित कमांड जारी कर सकते हैंdocker inspect टेक्स्ट फ़ाइल पर कमांड करें और फिर उसी के अनुसार फाइल देखें।

sudo docker inspect Jenkins > tmp.txt

जब आप पाठ फ़ाइल का उपयोग करते हुए देखते हैं more command, आप के रूप में एक प्रविष्टि देखेंगे JENKINS_HOME=/var/Jenkins_home

यह मानचित्रण है जो जेनकिंस छवि के माध्यम से कंटेनर के भीतर किया जाता है।

अब मान लीजिए कि आप कंटेनर में वॉल्यूम को स्थानीय वॉल्यूम में मैप करना चाहते हैं, तो आपको कंटेनर लॉन्च करते समय –v विकल्प निर्दिष्ट करना होगा। एक उदाहरण नीचे दिखाया गया है -

sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

–V विकल्प का उपयोग कंटेनर में वॉल्यूम को मैप करने के लिए किया जाता है /var/jenkins_home हमारे डॉकर होस्ट पर एक स्थान जो है /home/demo

अब अगर आप /home/demo आपके कंटेनर को लॉन्च करने के बाद आपके डॉकर होस्ट पर स्थान, आपको वहां मौजूद सभी कंटेनर फाइलें दिखाई देंगी।

एक कंटेनर के लिए संग्रहण ड्राइवर बदलना

यदि आप एक कंटेनर के लिए उपयोग किए जाने वाले स्टोरेज ड्राइवर को बदलना चाहते हैं, तो आप कंटेनर को लॉन्च करते समय ऐसा कर सकते हैं। यह का उपयोग करके किया जा सकता है–volume-driver पैरामीटर का उपयोग करते समय docker runआदेश। एक उदाहरण नीचे दिया गया है -

sudo docker run –d --volume-driver=flocker 
   –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

–volume-driver विकल्प का उपयोग कंटेनर के लिए किसी अन्य संग्रहण ड्राइवर को निर्दिष्ट करने के लिए किया जाता है।

यह पुष्टि करने के लिए कि ड्राइवर बदल दिया गया है, पहले का उपयोग करें docker psचल रहे कंटेनरों को देखने और कंटेनर आईडी प्राप्त करने की आज्ञा दें। तो, पहले निम्नलिखित आदेश जारी करें -

sudo docker ps

फिर जारी करें ए docker inspect कंटेनर के खिलाफ और कमांड का उपयोग करके आउटपुट को टेक्स्ट फ़ाइल में डाल दिया।

sudo docker inspect 9bffb1bfebee > temp.txt

यदि आप पाठ फ़ाइल के माध्यम से ब्राउज़ करते हैं और उस रेखा पर जाते हैं जो कहती है VolumeDriver, आप देखेंगे कि ड्राइवर का नाम बदल दिया गया है।

एक वॉल्यूम बनाना

का उपयोग करके पहले से एक वॉल्यूम बनाया जा सकता है dockerआदेश। आइए इस कमांड के बारे में अधिक जानें।

वाक्य - विन्यास

docker volume create –-name=volumename –-opt options

विकल्प

  • name - यह वॉल्यूम का नाम है जिसे बनाने की आवश्यकता है।

  • opt - ये ऐसे विकल्प हैं जो आप वॉल्यूम बनाते समय प्रदान कर सकते हैं।

प्रतिलाभ की मात्रा

कमांड बनाए गए वॉल्यूम का नाम आउटपुट करेगा।

उदाहरण

sudo docker volume create –-name = demo –opt o = size = 100m

उपरोक्त कमांड में, हम 100MB के आकार और डेमो के नाम के साथ वॉल्यूम बना रहे हैं।

उत्पादन

उपरोक्त कमांड का आउटपुट नीचे दिखाया गया है -

सभी वॉल्यूम की सूची बनाना

आप सभी को सूचीबद्ध भी कर सकते हैं docker volumes पर docker host। इस आदेश पर अधिक जानकारी नीचे दी गई है -

वाक्य - विन्यास

docker volume ls

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

कमांड सभी वॉल्यूम को आउटपुट करेगा docker host

उदाहरण

sudo docker volume ls

उत्पादन

उपरोक्त कमांड का आउटपुट नीचे दिखाया गया है -

Docker नेटवर्किंग पहलुओं का ध्यान रखता है ताकि कंटेनर अन्य कंटेनरों के साथ संवाद कर सकें और Docker Host के साथ भी। अगर आप एifconfigडॉकर होस्ट पर, आपको डॉकर ईथरनेट एडेप्टर दिखाई देगा। यह एडॉप्टर तब बनाया जाता है जब डॉकर होस्ट पर डॉकर इंस्टॉल किया जाता है।

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

सभी डॉक नेटवर्क को सूचीबद्ध करना

इस आदेश का उपयोग होस्ट पर डॉकर से जुड़े सभी नेटवर्क को सूचीबद्ध करने के लिए किया जा सकता है।

वाक्य - विन्यास

docker network ls

विकल्प

कोई नहीं

प्रतिलाभ की मात्रा

कमांड डॉकटर होस्ट पर सभी नेटवर्क का उत्पादन करेगा।

उदाहरण

sudo docker network ls

उत्पादन

उपरोक्त कमांड का आउटपुट नीचे दिखाया गया है

डॉकर नेटवर्क का निरीक्षण करना

यदि आप डॉकर से जुड़े नेटवर्क पर अधिक विवरण देखना चाहते हैं, तो आप डॉकर का उपयोग कर सकते हैं network inspect आदेश।

वाक्य - विन्यास

docker network inspect networkname

विकल्प

  • networkname - यह उस नेटवर्क का नाम है जिसका आपको निरीक्षण करने की आवश्यकता है।

प्रतिलाभ की मात्रा

आदेश नेटवर्क के बारे में सभी विवरणों को आउटपुट करेगा।

उदाहरण

sudo docker network inspect bridge

उत्पादन

उपरोक्त कमांड का आउटपुट नीचे दिखाया गया है -

अब एक कंटेनर चलाते हैं और देखते हैं कि क्या होता है जब हम फिर से नेटवर्क का निरीक्षण करते हैं। आइए निम्नलिखित आदेश के साथ एक उबंटू कंटेनर को स्पिन करें -

sudo docker run –it ubuntu:latest /bin/bash

अब यदि हम निम्नलिखित कमांड के माध्यम से अपने नेटवर्क के नाम का निरीक्षण करते हैं, तो अब आप देखेंगे कि कंटेनर पुल से जुड़ा हुआ है।

sudo docker network inspect bridge

अपना खुद का नया नेटवर्क बनाना

कंटेनरों को लॉन्च करने से पहले एक डॉकर में एक नेटवर्क बना सकता है। यह निम्नलिखित कमांड के साथ किया जा सकता है -

वाक्य - विन्यास

docker network create –-driver drivername name

विकल्प

  • drivername - यह नेटवर्क ड्राइवर के लिए उपयोग किया जाने वाला नाम है।

  • name - यह नेटवर्क को दिया गया नाम है।

प्रतिलाभ की मात्रा

कमांड नए नेटवर्क के लिए लंबी आईडी का उत्पादन करेगा।

उदाहरण

sudo docker network create –-driver bridge new_nw

उत्पादन

उपरोक्त कमांड का आउटपुट नीचे दिखाया गया है -

कंटेनर लॉन्च करते समय आप अब नया नेटवर्क संलग्न कर सकते हैं। तो चलो निम्नलिखित कमांड के साथ एक उबंटू कंटेनर को स्पिन करते हैं -

sudo docker run –it –network=new_nw ubuntu:latest /bin/bash

और अब जब आप निम्न कमांड के माध्यम से नेटवर्क का निरीक्षण करते हैं, तो आप कंटेनर को नेटवर्क से जोड़कर देखेंगे।

sudo docker network inspect new_nw

Node.js एक जावास्क्रिप्ट ढांचा है जो सर्वर-साइड एप्लिकेशन को विकसित करने के लिए उपयोग किया जाता है। यह एक ओपन सोर्स फ्रेमवर्क है जिसे कई तरह के ऑपरेटिंग सिस्टम पर चलने के लिए विकसित किया गया है। चूंकि Node.js विकास का एक लोकप्रिय ढांचा है, इसलिए Docker ने यह भी सुनिश्चित किया है कि इसमें Node.js अनुप्रयोगों का समर्थन है।

अब हम Node.js के लिए डोकर कंटेनर प्राप्त करने और चलाने के लिए विभिन्न चरणों को देखेंगे।

Step 1- पहला कदम डॉकर हब से छवि को खींचना है। जब आप डॉकर हब में लॉग इन करते हैं, तो आप नीचे दिखाए गए अनुसार Node.js की छवि खोज और देख पाएंगे। बस खोज बॉक्स में नोड टाइप करें और खोज परिणामों में आने वाले नोड (आधिकारिक) लिंक पर क्लिक करें।

Step 2 - आप देखेंगे कि डॉकर pull डॉकर हब में भंडार के विवरण में नोड के लिए आदेश।

Step 3 - डॉकर होस्ट पर, डॉकर का उपयोग करें pull Docker हब से नवीनतम नोड छवि डाउनलोड करने के लिए ऊपर दिखाए अनुसार कमांड।

एक बार pull पूरा हो गया है, फिर हम अगले चरण के साथ आगे बढ़ सकते हैं।

Step 4 - डॉकर होस्ट पर, का उपयोग करते हैं vimसंपादक और एक Node.js उदाहरण फ़ाइल बनाएँ। इस फ़ाइल में, हम कमांड प्रॉम्प्ट पर "HelloWorld" प्रदर्शित करने के लिए एक साधारण कमांड जोड़ेंगे।

Node.js फ़ाइल में, निम्नलिखित कथन जोड़ते हैं -

Console.log(‘Hello World’);

जब हम इसे Node.js. के माध्यम से चलाते हैं, तो यह "हैलो वर्ल्ड" वाक्यांश को आउटपुट करेगा।

सुनिश्चित करें कि आप फ़ाइल को सहेजते हैं और फिर अगले चरण पर आगे बढ़ते हैं।

Step 5 - नोड डॉकटर कंटेनर का उपयोग करके हमारी Node.js स्क्रिप्ट को चलाने के लिए, हमें निम्नलिखित कथन को निष्पादित करना होगा -

sudo docker run –it –rm –name = HelloWorld –v “$PWD”:/usr/src/app 
   –w /usr/src/app node node HelloWorld.js

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • –rm विकल्प का उपयोग कंटेनर को चलाने के बाद निकालने के लिए किया जाता है।

  • हम कंटेनर को एक नाम दे रहे हैं जिसका नाम "HelloWorld" है।

  • हम कंटेनर में वॉल्यूम को मैप करने के लिए उल्लेख कर रहे हैं जो है /usr/src/appहमारी वर्तमान वर्तमान कार्यशील निर्देशिका के लिए। ऐसा इसलिए किया जाता है ताकि नोड कंटेनर हमारी HelloWorld.js स्क्रिप्ट को उठा लेगा जो डॉकर होस्ट पर हमारी कार्यशील निर्देशिका में मौजूद है।

  • –w विकल्प का उपयोग Node.js. द्वारा उपयोग की जाने वाली कार्यशील निर्देशिका को निर्दिष्ट करने के लिए किया जाता है

  • पहला नोड विकल्प नोड छवि को चलाने के लिए निर्दिष्ट करने के लिए उपयोग किया जाता है।

  • नोड नोड को नोड कंटेनर में चलाने के लिए उल्लेख करने के लिए दूसरे नोड विकल्प का उपयोग किया जाता है।

  • और अंत में हम अपनी लिपि के नाम का उल्लेख करते हैं।

फिर हम निम्न आउटपुट प्राप्त करेंगे। और आउटपुट से, हम स्पष्ट रूप से देख सकते हैं कि नोड कंटेनर कंटेनर के रूप में चला गया और HelloWorld.js स्क्रिप्ट को निष्पादित किया।

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

अब हम MongoDB के लिए डॉकटर कंटेनर प्राप्त करने और चलाने के लिए विभिन्न चरणों को देखेंगे।

Step 1- पहला कदम डॉकर हब से छवि को खींचना है। जब आप डॉकर हब में लॉग इन करते हैं, तो आप नीचे दिखाए गए अनुसार मानगो के लिए छवि खोज और देख पाएंगे। बस खोज बॉक्स में Mongo में टाइप करें और खोज परिणामों में आने वाले Mongo (आधिकारिक) लिंक पर क्लिक करें।

Step 2 - आप देखेंगे कि डॉकर pull डोकर हब में रिपॉजिटरी के विवरण में मोंगो के लिए कमान।

Step 3 - डॉकर होस्ट पर, डॉकर का उपयोग करें pull कमांड जैसा कि ऊपर दिखाया गया है कि डोकर हब से नवीनतम मानगो छवि डाउनलोड करने के लिए।

Step 4- अब जब हमारे पास Mongo के लिए छवि है, तो पहले एक MongoDB कंटेनर चलाते हैं, जो MongoDB के लिए हमारा उदाहरण होगा। इसके लिए, हम निम्नलिखित आदेश जारी करेंगे -

sudo docker run -it -d mongo

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान दिया जा सकता है -

  • –it संवादात्मक मोड में कंटेनर को चलाने के लिए विकल्प का उपयोग किया जाता है।

  • –d विकल्प का उपयोग कंटेनर को डेमॉन प्रक्रिया के रूप में चलाने के लिए किया जाता है।

  • और अंत में हम मानगो छवि से एक कंटेनर बना रहे हैं।

आप तब जारी कर सकते हैं docker ps रनिंग कंटेनर देखने के लिए कमांड -

निम्नलिखित बातों पर ध्यान दें -

  • कंटेनर का नाम है tender_poitras। यह नाम तब से अलग होगा जब कंटेनर का नाम बदल जाता है जब आप कंटेनर को स्पिन करते हैं। लेकिन बस कंटेनर का एक नोट बनाएं जिसे आपने लॉन्च किया है।

  • अगला, उस पोर्ट नंबर पर भी ध्यान दें, जिस पर वह चल रहा है। यह 27017 के टीसीपी पोर्ट पर सुन रहा है।

Step 5- अब एक अन्य कंटेनर को स्पिन करते हैं जो हमारे क्लाइंट के रूप में कार्य करेगा जो कि MongoDB डेटाबेस से कनेक्ट करने के लिए उपयोग किया जाएगा। चलिए इसके लिए निम्नलिखित आदेश जारी करते हैं -

sudo docker run –it –link=tender_poitras:mongo mongo /bin/bash

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान दिया जा सकता है -

  • –it संवादात्मक मोड में कंटेनर को चलाने के लिए विकल्प का उपयोग किया जाता है।

  • अब हम अपने नए कंटेनर को पहले से लॉन्च किए गए MongoDB सर्वर कंटेनर से लिंक कर रहे हैं। यहां, आपको पहले से लॉन्च किए गए कंटेनर के नाम का उल्लेख करने की आवश्यकता है।

  • फिर हम यह निर्दिष्ट कर रहे हैं कि हम अपने ग्राहक के रूप में मोंगो कंटेनर लॉन्च करना चाहते हैं और फिर चलाएं bin/bash हमारे नए कंटेनर में शेल।

अब आप नए कंटेनर में होंगे।

Step 6 - भागो env MongoDB सर्वर कंटेनर से कनेक्ट करने के तरीके के विवरण को देखने के लिए नए कंटेनर में कमांड।

Step 6- अब क्लाइंट कंटेनर से MongoDB सर्वर से कनेक्ट होने का समय है। हम इसे निम्न कमांड के माध्यम से कर सकते हैं -

mongo 172.17.0.2:27017

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है

  • mongo कमांड क्लाइंट है mongo कमांड जो एक MongoDB डेटाबेस से कनेक्ट करने के लिए उपयोग की जाती है।

  • IP और पोर्ट नंबर वह है जो आप उपयोग करते समय प्राप्त करते हैं env आदेश।

एक बार जब आप कमांड चलाते हैं, तो आप MongoDB डेटाबेस से जुड़ जाएंगे।

फिर आप कमांड प्रॉम्प्ट में किसी भी MongoDB कमांड को चला सकते हैं। हमारे उदाहरण में, हम निम्नलिखित कमांड चला रहे हैं -

use demo

यह कमांड एक MongoDB कमांड है जिसका उपयोग डेटाबेस नाम पर स्विच करने के लिए किया जाता है demo। यदि डेटाबेस उपलब्ध नहीं है, तो इसे बनाया जाएगा।

अब आपने सफलतापूर्वक एक क्लाइंट और सर्वर MongoDB कंटेनर बनाया है।

NGINX एक लोकप्रिय लाइटवेट वेब एप्लिकेशन है जिसका उपयोग सर्वर-साइड एप्लिकेशन को विकसित करने के लिए किया जाता है। यह एक ओपन-सोर्स वेब सर्वर है जिसे विभिन्न ऑपरेटिंग सिस्टम पर चलाने के लिए विकसित किया गया है। जबसेnginx विकास के लिए एक लोकप्रिय वेब सर्वर है, डॉकर ने सुनिश्चित किया है कि इसके लिए समर्थन है nginx

अब हम डॉकर कंटेनर को प्राप्त करने के लिए विभिन्न चरणों को देखेंगे nginx अभी भी अच्छा चल रहा है।

Step 1- पहला कदम डॉकर हब से छवि को खींचना है। जब आप डॉकर हब में लॉग इन करते हैं, तो आप इमेज को खोज और देख पाएंगेnginxजैसा की नीचे दिखाया गया। बस खोज बॉक्स में nginx में टाइप करें और पर क्लिक करेंnginx (आधिकारिक) लिंक जो खोज परिणामों में आता है।

Step 2 - आप देखेंगे कि डॉकर pull के लिए कमान nginx डॉकर हब में भंडार के विवरण में।

Step 3 - डॉकर होस्ट पर, डॉकर का उपयोग करें pull कमांड जैसा कि ऊपर दिखाया गया है कि डॉकटर हब से नवीनतम नगीनेक्स छवि डाउनलोड करने के लिए।

Step 4 - अब चलो भागो nginx निम्नलिखित कमांड के माध्यम से कंटेनर।

sudo docker run –p 8080:80 –d nginx

हम बंदरगाह को उजागर कर रहे हैं nginx सर्वर जो कि पोर्ट 8080 पर पोर्ट 8080 है जो डॉकर होस्ट पर है।

एक बार जब आप कमांड चलाते हैं, तो आप निम्न आउटपुट प्राप्त करेंगे यदि आप URL पर ब्राउज़ करते हैं http://dockerhost:8080। इससे पता चलता है किnginx कंटेनर ऊपर और चल रहा है।

Step 5 - आइए एक और उदाहरण देखें जहां हम अपने में एक साधारण वेब पेज होस्ट कर सकते हैं ngnixकंटेनर। हमारे उदाहरण में, हम एक सरल बनाएँगेHelloWorld.html फ़ाइल और इसे हमारे में होस्ट करें nginx कंटेनर।

चलिए सबसे पहले एक HTML फाइल बनाते हैं जिसे कहा जाता है HelloWorld.html

एचटीएमएल फ़ाइल में हैलो वर्ल्ड की एक सरल रेखा जोड़ते हैं।

चलिए फिर निम्न डॉकर कमांड चलाते हैं।

sudo docker run –p 8080:80 –v 
   “$PWD”:/usr/share/nginx/html:ro –d nginx

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • हम बंदरगाह को उजागर कर रहे हैं nginx सर्वर जो कि पोर्ट 8080 पर पोर्ट 8080 है जो डॉकर होस्ट पर है।

  • अगला, हम कंटेनर पर वॉल्यूम संलग्न कर रहे हैं जो है /usr/share/nginx/htmlहमारी वर्तमान कार्यशील निर्देशिका के लिए। यह वह जगह है जहाँ हमारी HelloWorld.html फ़ाइल संग्रहीत है।

अब अगर हम URL को ब्राउज करते हैं http://dockerhost:8080/HelloWorld.html हम उम्मीद के अनुसार निम्नलिखित उत्पादन प्राप्त करेंगे -

परिचयात्मक अध्यायों में, हमने विंडोज पर डॉकर टूलबॉक्स की स्थापना देखी है। डॉकर टूलबॉक्स विकसित किया गया है ताकि डॉक कंटेनर को विंडोज और मैकओएस पर चलाया जा सके। विंडोज पर टूलबॉक्स के लिए साइट हैhttps://docs.docker.com/docker-for-windows/

विंडोज के लिए, आपको हाइपर-वी सक्षम के साथ विंडोज 10 या विंडोज सर्वर 2016 होना चाहिए।

टूलबॉक्स में निम्नलिखित घटक होते हैं -

  • Docker Engine - यह बेस इंजन या डोकर डेमन के रूप में उपयोग किया जाता है जो डॉकटर कंटेनरों को चलाने के लिए उपयोग किया जाता है।

  • Docker Machine - डॉकर मशीन कमांड चलाने के लिए।

  • Docker Compose डॉकर चलाने के लिए कमांड लिखें।

  • Kinematic - यह विंडोज और मैक ओएस के लिए बनाया गया डॉकर जीयूआई है।

  • Oracle virtualbox

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

पॉवरशेल में चल रहा है

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

छवियाँ खींचना और कंटेनर चलाना

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

पहला कदम डॉकर का उपयोग करना है pull डॉकर हब से उबंटू छवि को खींचने के लिए कमांड।

अगला कदम निम्नलिखित का उपयोग करके डॉकर छवि को चलाना है run कमांड -

docker run –it ubuntu /bin/bash

आप देखेंगे कि कमांड वैसा ही है जैसा कि लिनक्स में था।

Kitematic

यह विंडोज पर डॉक के GUI के बराबर है। इस जीयूआई को खोलने के लिए, टास्कबार पर और डॉकर आइकन पर जाएं, राइट-क्लिक करें और किटीमैटिक खोलने के लिए चुनें।

यह आपको Kitematic GUI डाउनलोड करने के लिए संकेत देगा। एक बार डाउनलोड करने के बाद, सामग्री को अनज़िप करें। नामक एक फाइल होगीKitematic.exe। GUI इंटरफ़ेस को खोलने के लिए इस exe फ़ाइल को डबल-क्लिक करें।

फिर आपसे डॉकटर हब में प्रवेश करने, GUI के माध्यम से प्रवेश करने का अनुरोध किया जाएगा। बस आवश्यक उपयोगकर्ता नाम और पासवर्ड दर्ज करें और फिर लॉगिन बटन पर क्लिक करें।

एक बार लॉग इन करने के बाद, आप सिस्टम पर डाउनलोड की गई सभी छवियों को इंटरफ़ेस के बाईं ओर देख पाएंगे।

दायीं ओर, आपको डोकर हब पर उपलब्ध सभी चित्र मिलेंगे।

आइए एक उदाहरण लेते हैं कि किटमेटिक का उपयोग करके डोकर हब से नोड छवि कैसे डाउनलोड करें।

Step 1 - खोज मापदंड में नोड का कीवर्ड दर्ज करें।

Step 2 - क्लिक करें createआधिकारिक नोड छवि पर बटन। फिर आपको डाउनलोड की जा रही छवि दिखाई देगी।

एक बार छवि डाउनलोड हो जाने के बाद, यह फिर नोड कंटेनर को चलाना शुरू कर देगा।

Step 3 - अगर आप settings टैब, आप आगे दिखाए गए विकल्पों के अनुसार ड्रिल-डाउन कर सकते हैं।

  • General settings - इस टैब में, आप कंटेनर को नाम दे सकते हैं, पथ सेटिंग्स बदल सकते हैं और कंटेनर हटा सकते हैं।

  • Ports- यहां आप अलग-अलग पोर्ट मैपिंग देख सकते हैं। यदि आप चाहें, तो आप अपने स्वयं के पोर्ट मैपिंग बना सकते हैं।

  • Volumes - यहां आप अलग-अलग वॉल्यूम मैपिंग देख सकते हैं।

  • Advanced - इसमें कंटेनर के लिए उन्नत सेटिंग्स हैं।

ASP.Net मानक वेब विकास ढांचा है जो Microsoft द्वारा सर्वर-साइड अनुप्रयोगों को विकसित करने के लिए प्रदान किया जाता है। चूंकि ASP.Net विकास के लिए काफी लंबे समय से रहा है, इसलिए डोकर ने यह सुनिश्चित किया है कि उसे ASP.Net के लिए समर्थन प्राप्त है।

इस अध्याय में, हम ASP.Net के लिए डॉकटर कंटेनर प्राप्त करने और चलाने के लिए विभिन्न चरणों को देखेंगे।

आवश्यक शर्तें

ASP.Net चलाने के लिए सबसे पहले निम्नलिखित कदम उठाने होंगे।

Step 1 - चूंकि यह केवल विंडोज सिस्टम पर चल सकता है, इसलिए आपको पहले यह सुनिश्चित करना होगा कि आपके पास विंडोज 10 या विंडो सर्वर 2016 है।

Step 2- अगला, सुनिश्चित करें कि हाइपर-वी है और कंटेनर विंडोज सिस्टम पर स्थापित हैं। हाइपर- V और कंटेनरों को स्थापित करने के लिए, आप Windows विशेषताएँ चालू या बंद पर जा सकते हैं। फिर हाइपर-वी विकल्प सुनिश्चित करें और कंटेनरों की जांच की जाए और ओके बटन पर क्लिक करें।

इस ऑपरेशन के बाद सिस्टम को पुनः आरंभ करने की आवश्यकता हो सकती है।

Step 3 - इसके बाद, आपको स्थापित करने के लिए निम्न पॉवर्सशेल कमांड का उपयोग करने की आवश्यकता है 1.13.0rc4डॉकर का संस्करण। निम्न कमांड इसे डाउनलोड करेगा और इसे अस्थायी स्थान पर संग्रहीत करेगा।

Invoke-WebRequest "https://test.docker.com/builds/Windows/x86_64/docker-1.13.0-
   rc4.zip" -OutFile "$env:TEMP\docker-1.13.0-rc4.zip" –UseBasicParsing

Step 4 - इसके बाद, आपको निम्नलिखित का उपयोग करके संग्रह का विस्तार करना होगा powershell आदेश।

Expand-Archive -Path "$env:TEMP\docker-1.13.0-rc4.zip" -DestinationPath $env:ProgramFiles

Step 5 - इसके बाद, आपको निम्नलिखित का उपयोग करके पर्यावरण चर में डॉकर फाइल्स को जोड़ना होगा powershell आदेश।

$env:path += ";$env:ProgramFiles\Docker"

Step 6 - इसके बाद, आपको निम्नलिखित का उपयोग करके डॉकर डेमन सर्विस को पंजीकृत करना होगा powershell आदेश।

dockerd --register-service

Step 7 - अंत में, आप शुरू कर सकते हैं docker daemon निम्नलिखित कमांड का उपयोग करना।

Start-Service Docker

उपयोग docker version में आज्ञा powershell यह सत्यापित करने के लिए docker daemon काम कर रहा है

ASP.Net कंटेनर स्थापित करना

आइए देखें कि एएसपी.नेट कंटेनर को कैसे स्थापित किया जाए।

Step 1- पहला कदम डॉकर हब से छवि को खींचना है। जब आप डॉकर हब में लॉग इन करते हैं, तो आप इमेज को खोज और देख पाएंगेMicrosoft/aspnetजैसा की नीचे दिखाया गया। में टाइप करेंasp खोज बॉक्स में और Microsoft / aspnet लिंक पर क्लिक करें जो खोज परिणामों में आता है।

Step 2 - आप देखेंगे कि डॉकर pull Docker Hub में रिपॉजिटरी के विवरण में ASP.Net के लिए कमांड।

Step 3 - डॉकर होस्ट पर जाएं और डॉकर को चलाएं pullMicrosoft / aspnet छवि के लिए कमांड। ध्यान दें कि छवि बहुत बड़ी है, कहीं-कहीं 4.2 जीबी के करीब है।

Step 4 - अब निम्नलिखित स्थान पर जाएं https://github.com/Microsoft/aspnet-docker और पूरे गिट रिपॉजिटरी को डाउनलोड करें।

Step 5 - नामक एक फ़ोल्डर बनाएँ Appआपकी सी ड्राइव में। फिर से सामग्री की प्रतिलिपि बनाएँ4.6.2/sampleआपके C ड्राइव में फ़ोल्डर। नमूना निर्देशिका में डॉकर फ़ाइल पर जाएं और निम्न आदेश जारी करें -

docker build –t aspnet-site-new –build-arg site_root=/

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • यह नामक एक नई छवि बनाता है aspnet-site-new डॉकर फ़ाइल से।
  • रूट पथ को स्थानीयपथ फ़ोल्डर में सेट किया गया है।

Step 6- अब कंटेनर को चलाने का समय आ गया है। यह निम्नलिखित कमांड का उपयोग करके किया जा सकता है -

docker run –d –p 8000:80 –name my-running-site-new aspnet-site-new

Step 7- अब आपके पास Docker कंटेनर में IIS चल रहा होगा। डॉकर कंटेनर का आईपी पता खोजने के लिए, आप डॉकर जारी कर सकते हैंinspect जैसा कि नीचे दिखाया गया है।

Docker Cloud, Docker द्वारा प्रदान की गई एक सेवा है जिसमें आप निम्नलिखित कार्य कर सकते हैं -

  • Nodes - आप इन वातावरण पर कंटेनरों को स्पिन करने के लिए डॉक्यूअर क्लाउड को अपने मौजूदा क्लाउड प्रदाताओं जैसे कि Azure और AWS से जोड़ सकते हैं।

  • Cloud Repository - एक ऐसी जगह प्रदान करता है जहां आप अपनी खुद की रिपॉजिटरी स्टोर कर सकते हैं।

  • Continuous Integration - के साथ जुड़ें Github और एक सतत एकीकरण पाइपलाइन का निर्माण।

  • Application Deployment - अवसंरचना और पैमाने और कंटेनरों की तैनाती करें।

  • Continuous Deployment - तैनाती को स्वचालित कर सकते हैं।

शुरू करना

आप डॉकर क्लाउड के साथ आरंभ करने के लिए निम्न लिंक पर जा सकते हैं - https://cloud.docker.com/

एक बार लॉग इन करने के बाद, आपको निम्नलिखित बुनियादी इंटरफ़ेस प्रदान किया जाएगा -

क्लाउड प्रदाता से कनेक्ट करना

पहला कदम मौजूदा क्लाउड प्रदाता से कनेक्ट करना है। निम्नलिखित चरण आपको दिखाएंगे कि कैसे अमेज़ॅन क्लाउड प्रदाता से जुड़ना है।

Step 1- पहला कदम यह सुनिश्चित करना है कि आपके पास सही AWS कुंजी है। इससे लिया जा सकता हैawsकंसोल। अपने में लॉग इन करेंaws निम्नलिखित लिंक का उपयोग कर खाता - https://aws.amazon.com/console/

Step 2- लॉग इन होते ही सिक्योरिटी क्रेडेंशियल्स सेक्शन में जाएं। उन एक्सेस कुंजियों पर ध्यान दें, जिनका उपयोग Docker Hub से किया जाएगा।

Step 3 - इसके बाद, आपको एक नीति बनाने की आवश्यकता है awsयह डॉकटर को EC2 उदाहरणों को देखने की अनुमति देगा। में प्रोफाइल सेक्शन पर जाएंaws। दबाएंCreate Policy बटन।

Step 4 - 'क्रिएट योर ओन पॉलिसी' पर क्लिक करें और पॉलिसी का नाम दें dockercloudpolicy और नीचे दी गई नीति परिभाषा।

{ 
   "Version": "2012-10-17", 
   "Statement": [ { 
      "Action": [ 
         "ec2:*", 
         "iam:ListInstanceProfiles" 
      ], 
      "Effect": "Allow", 
      "Resource": "*" 
   } ] 
}

इसके बाद क्लिक करें Create Policy बटन

Step 5 - इसके बाद, आपको एक बनाने की आवश्यकता है roleजिसका उपयोग डॉकटर द्वारा AWS पर नोड्स को स्पिन करने के लिए किया जाएगा। इसके लिए, पर जाएंRoles AWS में सेक्शन करें और क्लिक करें Create New Role विकल्प।

Step 6 - भूमिका के लिए नाम दें dockercloud-role

Step 7 - अगली स्क्रीन पर, 'रोल फॉर क्रॉस अकाउंट एक्सेस' पर जाएं और "अपने खाते और एक तृतीय पक्ष AWS खाते के बीच पहुंच प्रदान करें" चुनें।

Step 8 - अगली स्क्रीन पर, निम्नलिखित विवरण दर्ज करें -

  • खाता आईडी फ़ील्ड में, डॉकर क्लाउड सेवा के लिए आईडी दर्ज करें: 689684103426।
  • बाहरी आईडी फ़ील्ड में, अपना डॉकर क्लाउड उपयोगकर्ता नाम दर्ज करें।

Step 9 - फिर, पर क्लिक करें Next Step बटन और अगली स्क्रीन पर, पहले चरण में बनाई गई नीति संलग्न करें।

Step 10 - अंत में, अंतिम स्क्रीन पर जब भूमिका बनाई जाती है, तो प्रतिलिपि की प्रतिलिपि बनाना सुनिश्चित करें arn भूमिका जो बनाई गई है।

arn:aws:iam::085363624145:role/dockercloud-role

Step 11 - अब वापस जाएं Docker Cloud, चुनते हैं Cloud Providers, और क्लिक करें plug symbol अमेज़न वेब सेवाओं के बगल में।

प्रवेश करें arn भूमिका और क्लिक करें Save बटन।

एक बार सहेजने के बाद, AWS के साथ एकीकरण पूरा हो जाएगा।

नोड्स की स्थापना

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

Step 1 - डॉकर क्लाउड में नोड्स अनुभाग पर जाएं।

Step 2 - इसके बाद, आप नोड्स का विवरण दे सकते हैं जो AWS में सेटअप किया जाएगा।

फिर आप लॉन्च नोड क्लस्टर पर क्लिक कर सकते हैं जो स्क्रीन के नीचे मौजूद होगा। एक बार नोड तैनात होने के बाद, आपको नोड क्लस्टर स्क्रीन में सूचना मिलेगी।

एक सेवा की तैनाती

नोड को तैनात करने के बाद अगला कदम एक सेवा को तैनात करना है। ऐसा करने के लिए, हमें निम्नलिखित चरणों का पालन करना होगा।

Step 1 - के पास जाओ Services Sectionडॉकर क्लाउड में। दबाएंCreate बटन

Step 2- वह सेवा चुनें, जिसकी आवश्यकता है। हमारे मामले में, चलो चुनते हैंmongo

Step 3 - अगली स्क्रीन पर, चुनें Create & Deployविकल्प। इससे तैनाती शुरू हो जाएगीMongo आपके नोड क्लस्टर पर कंटेनर।

एक बार तैनात होने के बाद, आप कंटेनर को चालू स्थिति में देख पाएंगे।

डॉकर के पास लॉगिंग मैकेनिज्म है, जिसका उपयोग मुद्दों के डिबग करने के लिए किया जा सकता है। वहाँ पर लॉगिंग हैdaemon level और पर container level। आइए लॉगिंग के विभिन्न स्तरों को देखें।

डेमन लॉगिंग

डेमन लॉगिंग स्तर पर, लॉगिंग के चार स्तर उपलब्ध हैं -

  • Debug - यह डेमॉन प्रक्रिया द्वारा नियंत्रित सभी संभावित जानकारी का विवरण देता है।

  • Info - यह डेमॉन प्रक्रिया द्वारा नियंत्रित सभी त्रुटियों + जानकारी का विवरण देता है।

  • Errors - यह डेमॉन प्रक्रिया द्वारा नियंत्रित सभी त्रुटियों का विवरण देता है।

  • Fatal - यह केवल डेमॉन प्रक्रिया द्वारा नियंत्रित सभी घातक त्रुटियों का विवरण देता है।

लॉगिंग को सक्षम करने के बारे में जानने के लिए निम्न चरणों से गुजरें।

Step 1 - सबसे पहले, हमें रोकने की जरूरत है docker daemon process, अगर यह पहले से ही चल रहा है। यह निम्नलिखित कमांड का उपयोग करके किया जा सकता है -

sudo service docker stop

Step 2 - अब हमें शुरुआत करने की जरूरत है docker daemon process। लेकिन इस बार, हमें इसे बढ़ाने की जरूरत है–lलॉगिंग विकल्प को निर्दिष्ट करने के लिए पैरामीटर। तो चलिए शुरू करते समय निम्नलिखित कमांड जारी करते हैंdocker daemon process

sudo dockerd –l debug &

उपरोक्त आदेश के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -

  • dockerd के लिए निष्पादन योग्य है docker daemon process

  • –lविकल्प का उपयोग लॉगिंग स्तर को निर्दिष्ट करने के लिए किया जाता है। हमारे मामले में, हम इसे डिबग के रूप में डाल रहे हैं

  • & लॉगिंग सक्षम होने के बाद कमांड प्रॉम्प्ट पर वापस आने के लिए उपयोग किया जाता है।

एक बार जब आप लॉगिंग के साथ डॉकर प्रक्रिया शुरू करते हैं, तो आप भी अब देखेंगे Debug Logs कंसोल पर भेजा जा रहा है।

अब, यदि आप किसी भी डॉकटर कमांड को निष्पादित करते हैं जैसे कि docker imagesडीबग जानकारी भी कंसोल को भेजी जाएगी।

कंटेनर लॉगिंग

लॉगिंग कंटेनर स्तर पर भी उपलब्ध है। तो हमारे उदाहरण में, पहले एक उबंटू कंटेनर को स्पिन करें। हम इसे निम्न कमांड का उपयोग करके कर सकते हैं।

sudo docker run –it ubuntu /bin/bash

अब, हम उपयोग कर सकते हैं docker log command कंटेनर के लॉग देखने के लिए।

वाक्य - विन्यास

Docker logs containerID

मापदंडों

  • containerID - यह कंटेनर की आईडी है जिसके लिए आपको लॉग देखने की जरूरत है।

उदाहरण

हमारे डॉकर होस्ट पर, निम्नलिखित कमांड जारी करते हैं। इससे पहले, आप कुछ कमांड कंटेनर में जारी कर सकते हैं।

sudo docker logs 6bfb1271fcdd

उत्पादन

आउटपुट से, आप देख सकते हैं कि कंटेनर में निष्पादित कमांड लॉग में दिखाए गए हैं।

Docker Composeएक सेवा के रूप में कई कंटेनरों को चलाने के लिए उपयोग किया जाता है। उदाहरण के लिए, मान लीजिए कि आपके पास एक ऐसा एप्लिकेशन था जिसमें NGNIX और MySQL की आवश्यकता थी, आप एक ऐसी फाइल बना सकते हैं जो दोनों कंटेनरों को एक सेवा के रूप में शुरू कर सकती है और प्रत्येक को अलग से शुरू करने की आवश्यकता नहीं है।

इस अध्याय में, हम देखेंगे कि डॉकर कम्पोज़ के साथ कैसे शुरुआत करें। फिर, हम देखेंगे कि कैसे MySQL और NGNIX के साथ एक सरल सेवा प्राप्त की जाए और डॉकर कंपोज़ का उपयोग करके चलें।

डॉकर कम्पोज़। इंस्टालेशन

डॉकटर कंपोज़ को प्राप्त करने और चलाने के लिए निम्न चरणों का पालन करने की आवश्यकता है।

Step 1 - से आवश्यक फाइलें डाउनलोड करें github निम्नलिखित कमांड का उपयोग कर -

curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
   -$(uname -s) -$(uname -m)" -o /home/demo/docker-compose

उपरोक्त कमांड डॉकर कम्पोज़ का नवीनतम संस्करण डाउनलोड करेगा जो इस लेख को लिखने के समय है 1.10.0-rc2। फिर इसे डायरेक्टरी में स्टोर करेंगे/home/demo/

Step 2 - अगला, हमें प्रदान करने की आवश्यकता है execute privileges निम्न आदेश का उपयोग करके डाउनलोड किए गए डॉकर कम्पोज़ फ़ाइल को डाउनलोड करें -

chmod +x /home/demo/docker-compose

इसके बाद हम निम्न कमांड का उपयोग कर सकते हैं compose संस्करण।

वाक्य - विन्यास

docker-compose version

मापदंडों

  • version - इसका उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि हम संस्करण के विवरण चाहते हैं Docker Compose

उत्पादन

Docker Compose का संस्करण विवरण प्रदर्शित किया जाएगा।

उदाहरण

निम्नलिखित उदाहरण दिखाता है कि कैसे प्राप्त करें docker-compose संस्करण।

sudo ./docker-compose -version

उत्पादन

फिर आपको निम्न आउटपुट मिलेगा -

अपनी पहली डॉकटर-कंपोज फाइल बनाना

अब आगे बढ़ते हैं और अपनी पहली Docker Compose फाइल बनाते हैं। सभी Docker Compose फाइलें YAML फाइलें हैं। आप विम एडिटर का उपयोग करके एक बना सकते हैं। तो बनाने के लिए निम्न कमांड निष्पादित करेंcompose फ़ाइल -

sudo vim docker-compose.yml

आइए इस फ़ाइल के विभिन्न विवरणों पर एक नज़र डालें -

  • database तथा webकीवर्ड का उपयोग दो अलग-अलग सेवाओं को परिभाषित करने के लिए किया जाता है। एक हमारा चल रहा होगाmysql डेटाबेस और दूसरा हमारा होगा nginx वेब सर्वर।

  • image कीवर्ड का उपयोग छवि को निर्दिष्ट करने के लिए किया जाता है dockerhub हमारे लिए mysql तथा nginx कंटेनरों

  • डेटाबेस के लिए, हम उन पोर्ट्स का उल्लेख करने के लिए पोर्ट्स कीवर्ड का उपयोग कर रहे हैं, जिनके लिए एक्सपोज होने की जरूरत है mysql

  • और फिर, हम पर्यावरण चर भी निर्दिष्ट करते हैं mysql जिन्हें चलाना आवश्यक है mysql

अब निम्नलिखित कमांड का उपयोग करके हमारी डॉकटर कम्पोज़ फ़ाइल को चलाते हैं -

sudo ./docker-compose up

यह कमांड लेगा docker-compose.yml अपने स्थानीय निर्देशिका में फ़ाइल करें और कंटेनरों का निर्माण शुरू करें।

एक बार निष्पादित होने के बाद, सभी चित्र डाउनलोड होने लगेंगे और कंटेनर अपने आप शुरू हो जाएंगे।

और जब आप ए docker ps, आप देख सकते हैं कि कंटेनर वास्तव में ऊपर और चल रहे हैं।

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

आइए कदम से कदम मिलाकर देखें कि डॉकनर कंटेनरों के लिए जेनकिन्स में क्या उपलब्ध है।

Step 1 - अपने जेनकींस डैशबोर्ड पर जाएं और क्लिक करें Manage Jenkins

Step 2 - पर जाएं Manage Plugins

Step 3- डॉकर प्लगइन्स के लिए खोजें। डॉकर प्लगइन चुनें और क्लिक करेंInstall without restart बटन।

Step 4- इंस्टॉलेशन पूरा होने के बाद, जेनकिंस डैशबोर्ड में अपनी नौकरी पर जाएं। हमारे उदाहरण में, हमारे पास नौकरी हैDemo

Step 5 - नौकरी में, जब आप बिल्ड कदम पर जाते हैं, तो अब आप कंटेनरों को शुरू करने और रोकने का विकल्प देख सकते हैं।

Step 6- एक सरल उदाहरण के रूप में, आप बिल्ड के पूरा होने पर कंटेनरों को रोकने के लिए आगे का विकल्प चुन सकते हैं। फिर, क्लिक करेंSave बटन।

अब, सिर्फ जेनकिंस में अपना काम चलाएं। कंसोल आउटपुट में, अब आप देख पाएंगे कि सभी कंटेनरों को बंद करने के लिए कमांड चला गया है।

कुबेरनेट्स डोकर कंटेनरों के लिए एक आर्केस्ट्रा ढांचा है जो बाहरी दुनिया में कंटेनरों को सेवाओं के रूप में उजागर करने में मदद करता है। उदाहरण के लिए, आपके पास दो सेवाएं हो सकती हैं - एक सेवा में होगाnginx तथा mongoDB, और एक अन्य सेवा शामिल होगी nginx तथा redis। प्रत्येक सेवा में एक आईपी या सेवा बिंदु हो सकता है जिसे अन्य अनुप्रयोगों द्वारा जोड़ा जा सकता है। इन सेवाओं को प्रबंधित करने के लिए Kubernetes का उपयोग किया जाता है।

निम्नलिखित आरेख एक सरलीकृत प्रारूप में दिखाता है कि कुबेरनेट्स वास्तुकला की दृष्टि से कैसे काम करता है।

minionवह नोड है जिस पर सभी सेवाएँ चलती हैं। आप एक समय में कई मिनट चल सकते हैं। प्रत्येक मिनियन एक या अधिक POD की मेजबानी करेगा। से प्रत्येकPODएक सेवा की मेजबानी की तरह है। प्रत्येक POD में डॉकटर कंटेनर होता है। प्रत्येक POD डॉक कंटेनर के एक अलग सेट की मेजबानी कर सकता है। प्रॉक्सी का उपयोग तब बाहरी दुनिया में इन सेवाओं को उजागर करने को नियंत्रित करने के लिए किया जाता है।

इसकी वास्तुकला में कुबेरनेट्स के कई घटक हैं। प्रत्येक घटक की भूमिका नीचे बताई गई है & mius;

  • etcd - यह घटक अत्यधिक उपलब्ध है key-value स्टोर जो भंडारण के लिए उपयोग किया जाता है shared configuration तथा service discovery। यहां विभिन्न एप्लिकेशन सेवाओं के माध्यम से कनेक्ट करने में सक्षम होंगेdiscovery service

  • Flannel - यह एक बैकएंड नेटवर्क है जो कंटेनरों के लिए आवश्यक है।

  • kube-apiserver - यह एक एपीआई है जिसका इस्तेमाल डॉकटर कंटेनरों की परिक्रमा करने के लिए किया जा सकता है।

  • kube-controller-manager - इसका उपयोग नियंत्रण करने के लिए किया जाता है Kubernetes services

  • kube-scheduler - इसका उपयोग मेजबानों पर कंटेनरों को शेड्यूल करने के लिए किया जाता है।

  • Kubelet - इसका उपयोग कंटेनरों के प्रक्षेपण को नियंत्रित करने के लिए किया जाता है manifest files

  • kube-proxy - इसका उपयोग बाहरी दुनिया को नेटवर्क प्रॉक्सी सेवाएं प्रदान करने के लिए किया जाता है।

इस अध्याय में, हम देखेंगे कि कैसे स्थापित करें Kubenetes के जरिए kubeadm। यह एक उपकरण है जो कुबेरनेट की स्थापना में मदद करता है। आइए कदम से कदम मिलाएं और जानें कि कुबेरनेट कैसे स्थापित करें।

Step 1 - सुनिश्चित करें कि Ubuntu server version आप काम कर रहे हैं 16.04

Step 2 - सुनिश्चित करें कि आप एक उत्पन्न करते हैं ssh कुंजी जिसका उपयोग किया जा सकता है sshलॉग इन करें। आप निम्न आदेश का उपयोग करके ऐसा कर सकते हैं।

ssh-keygen

यह आपके में एक कुंजी उत्पन्न करेगा home folder जैसा की नीचे दिखाया गया।

Step 3 - अगला, आपके पास उबंटू के संस्करण के आधार पर, आपको संबंधित साइट को जोड़ना होगा docker.list के लिए apt package manager, ताकि यह पता लगाने में सक्षम हो Kubernetes packages वहाँ से kubernetes साइट और उनके अनुसार डाउनलोड करें।

हम इसे निम्न आदेशों का उपयोग करके कर सकते हैं।

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -  
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/docker.list

Step 4 - हम तब सभी संकुल को उबंटू सर्वर पर डाउनलोड करने के लिए एक उपयुक्त अद्यतन प्राप्त करते हैं।

Step 5 - पहले के अध्यायों में विस्तृत रूप में डॉकर पैकेज स्थापित करें।

Step 6 - अब यह स्थापित करने का समय है kubernetes निम्नलिखित पैकेज स्थापित करके -

apt-get install –y kubelet kubeadm kubectl kubernetes-cni

Step 7 - एक बार kubernetes पैकेज डाउनलोड किए गए हैं, यह निम्नलिखित कमांड का उपयोग करके कुबेरनेट्स नियंत्रक को शुरू करने का समय है -

kubeadm init

एक बार हो जाने के बाद, आपको एक सफल संदेश मिलेगा कि मास्टर ऊपर और चल रहा है और नोड्स अब क्लस्टर में शामिल हो सकते हैं।