डाक में काम करनेवाला मज़दूर पैक किए गए अनुप्रयोग बनाता है कंटेनर कहा जाता है। प्रत्येक कंटेनर एक अलग वातावरण प्रदान करता है [1 1] आभासी मशीन (VM)। वीएमएस, डॉकर कंटेनर के विपरीत एक पूर्ण ऑपरेटिंग सिस्टम न चलाएं । वे आपके मेजबान के कर्नेल को एक सॉफ्टवेयर स्तर पर साझा करते हैं और वर्चुअलाइज करते हैं।
डॉकर मूल बातें
डॉकर सॉफ्टवेयर डेवलपर्स और सिस्टम प्रशासकों के लिए एक मानक उपकरण बन गया है। यह आपके सिस्टम के बाकी हिस्सों को प्रभावित किए बिना एप्लिकेशन लॉन्च करने का एक साफ तरीका है। आप एक एकल के साथ एक नई सेवा को स्पिन कर सकते हैं [1 9] डॉकर रन आदेश।
कंटेनर ओएस पैकेज निर्भरताओं से अपने स्वयं के स्रोत कोड तक एक आवेदन चलाने के लिए आवश्यक सब कुछ encapsulate। आप एक कंटेनर के निर्माण के चरणों को परिभाषित करते हैं [1 9] डॉकरफाइल । डॉकर एक निर्माण के लिए डॉकरफाइल का उपयोग करता है छवि ।
छवियां कंटेनर में उपलब्ध सॉफ़्टवेयर को परिभाषित करती हैं। यह एक ऑपरेटिंग सिस्टम आईएसओ के साथ एक वीएम शुरू करने के बराबर है। यदि आप कोई छवि बनाते हैं, तो कोई भी डॉकर उपयोगकर्ता आपके ऐप को लॉन्च करने में सक्षम होगा [1 9] डॉकर रन ।
डॉकर कैसे काम करता है?
कंटेनर आंशिक रूप से वर्चुअलाइज्ड वातावरण प्रदान करने के लिए ऑपरेटिंग सिस्टम कर्नेल सुविधाओं का उपयोग करते हैं। जैसे कमांड के साथ खरोंच से कंटेनर बनाना संभव है [1 9] क्रोट । यह सिस्टम रूट के बजाय एक निर्दिष्ट रूट निर्देशिका के साथ एक प्रक्रिया शुरू करता है। लेकिन कर्नेल सुविधाओं का उपयोग सीधे गलत, असुरक्षित, और त्रुटि-प्रवण है।
डॉकर उत्पादन, वितरण और कंटेनरों के उपयोग के लिए एक पूर्ण समाधान है। आधुनिक डॉकर रिलीज शामिल हैं कई स्वतंत्र घटक । सबसे पहले, डॉकर है क्ली , जो आप अपने टर्मिनल में बातचीत करते हैं। सीएलआई को आदेश भेजता है डॉकर डेमन । यह स्थानीय रूप से चलाया जा सकता है या एक रिमोट होस्ट पर । डेमन कंटेनर और उन छवियों के प्रबंधन के लिए जिम्मेदार है।
अंतिम घटक को कहा जाता है कंटेनर रनटाइम । रनटाइम ने कंटेनर लॉन्च करने के लिए कर्नेल सुविधाओं को आमंत्रित किया है। डॉकर रनटाइम के साथ संगत है जो पालन करता है ओसीआई विनिर्देश। यह खुला मानक विभिन्न कंटेनरराइजेशन टूल्स के बीच इंटरऑपरेबिलिटी के लिए अनुमति देता है।
जब आप पहली बार शुरू कर रहे हों तो आपको डॉकर के आंतरिक कार्यों के बारे में बहुत ज्यादा चिंता करने की आवश्यकता नहीं है। स्थापित कर रहा है [1 9] डाक में काम करनेवाला मज़दूर अपने सिस्टम पर आपको कंटेनर बनाने और चलाने के लिए आवश्यक सब कुछ देगा।
[6 9] इतने सारे लोग डॉकर का उपयोग क्यों करते हैं?कंटेनर इतने लोकप्रिय हो गए हैं क्योंकि वे सॉफ्टवेयर विकास में कई आम चुनौतियों को हल करते हैं। एक बार कंटेनर करने और हर जगह चलाने की क्षमता बीच के अंतर को कम करता है आपके विकास पर्यावरण और आपके उत्पादन सर्वर।
कंटेनर का उपयोग करने से आपको विश्वास होता है कि हर वातावरण समान है। यदि आपके पास एक नया टीम सदस्य है, तो उन्हें केवल इसकी आवश्यकता है [1 9] डॉकर रन अपना खुद का विकास उदाहरण स्थापित करने के लिए। जब आप अपनी सेवा लॉन्च करते हैं, तो आप उत्पादन में तैनात करने के लिए अपनी डॉकर छवि का उपयोग कर सकते हैं। NS लाइव पर्यावरण वास्तव में आपके स्थानीय उदाहरण से मेल खाएगा, "यह मेरी मशीन पर काम करता है" परिदृश्य से परहेज करेगा।
डॉकर एक पूर्ण-उड़ा वर्चुअल मशीन से अधिक सुविधाजनक है। वीएमएस सामान्य प्रयोजन उपकरण हैं जो हर संभव वर्कलोड का समर्थन करने के लिए डिज़ाइन किए गए हैं। इसके विपरीत, कंटेनर हल्के, आत्मनिर्भर, और बेहतर उपयोग मामलों के लिए बेहतर अनुकूल हैं। चूंकि डॉकर मेजबान के कर्नेल को साझा करता है, इसलिए कंटेनर के पास सिस्टम प्रदर्शन पर नगण्य प्रभाव पड़ता है। कंटेनर लॉन्च समय लगभग तात्कालिक है, क्योंकि आप केवल प्रक्रिया शुरू कर रहे हैं, न कि एक संपूर्ण ऑपरेटिंग सिस्टम।
शुरू करना
डॉकर सभी लोकप्रिय लिनक्स वितरण पर उपलब्ध है। यह विंडोज और मैकोज़ पर भी चलता है। का पीछा करो आपके मंच के लिए डॉकर सेटअप निर्देश इसे पाने और चलाने के लिए।
आप जांच सकते हैं कि आपकी स्थापना एक साधारण कंटेनर शुरू करके काम कर रही है:
डॉकर रन हैलो-वर्ल्ड
यह मूल के साथ एक नया कंटेनर शुरू करेगा [1 9] नमस्ते दुनिया छवि। छवि डॉकर का उपयोग करने के तरीके को समझाते हुए कुछ आउटपुट उत्सर्जित करती है। कंटेनर तब बाहर निकलता है, आपको अपने टर्मिनल पर वापस छोड़ देता है।
एक बार चलाने के बाद [1 9] नमस्ते दुनिया , आप अपनी खुद की डॉकर छवियों को बनाने के लिए तैयार हैं। एक डॉकरफाइल वर्णन करता है कि आपकी सेवा को कैसे चलाएं आवश्यक सॉफ्टवेयर स्थापित करना और फ़ाइलों में प्रतिलिपि बनाना। अपाचे वेब सर्वर का उपयोग करके यहां एक सरल उदाहरण दिया गया है:
httpd से: नवीनतम गूंज चलाएं "लोडमोड्यूल हेडर_ मॉड्यूल मॉड्यूल / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf कॉपी .htaccess /var/www/html/.htaccess कॉपी index.html /var/www/html/index.html सीएसएस / / var / www / html / css कॉपी करें
NS [1 9] से रेखा आधार छवि को परिभाषित करती है। इस मामले में, हम आधिकारिक अपाचे छवि से शुरू कर रहे हैं। डॉकर बेस छवि के शीर्ष पर आपके डॉकरफाइल में शेष निर्देशों को लागू करता है।
NS [1 9] DAUD स्टेज कंटेनर के भीतर एक कमांड चलाता है। यह कंटेनर के पर्यावरण में उपलब्ध कोई भी आदेश हो सकता है। हम सक्षम कर रहे हैं [1 9] हेडर अपाचे मॉड्यूल, जिसका उपयोग किया जा सकता है [1 9] .htaccess रूटिंग नियम स्थापित करने के लिए फ़ाइल।
अंतिम लाइनें आपकी कार्यकारी निर्देशिका में HTML और CSS फ़ाइलों को कंटेनर छवि में कॉपी करती हैं। आपकी छवि में अब आपकी वेबसाइट चलाने के लिए आवश्यक सब कुछ शामिल है।
अब, आप छवि बना सकते हैं:
डॉकर बिल्ड-टी मेरी वेबसाइट: v1।
डॉकर छवि बनाने के लिए आपके डॉकरफाइल का उपयोग करेगा। आप अपने टर्मिनल में आउटपुट देखेंगे क्योंकि डॉकर आपके प्रत्येक निर्देश चलाता है।
[14 9]
NS [1 9] -टी आज्ञा में आपकी छवि को टैग करता है दिए गए नाम के साथ ( [1 9] मेरी वेबसाइट: v1 )। इससे भविष्य में इसका उल्लेख करना आसान हो जाता है। टैग में दो घटक होते हैं, जो एक कोलन से अलग होते हैं। पहला भाग छवि का नाम सेट करता है, जबकि दूसरा आमतौर पर अपने संस्करण को दर्शाता है। यदि आप कोलन को छोड़ देते हैं, तो डॉकर डिफ़ॉल्ट होगा उपयोग करने के लिए [1 9] नवीनतम टैग संस्करण के रूप में।
NS [1 9] । कमांड के अंत में डॉकर को आपकी स्थानीय कार्य निर्देशिका में डॉकरफाइल का उपयोग करने के लिए कहा जाता है। ये ब निर्माण संदर्भ सेट करता है , जिससे आप अपनी कार्यशील निर्देशिका में फ़ाइलों और फ़ोल्डरों का उपयोग कर सकते हैं [1 9] कॉपी आपके डॉकरफाइल में निर्देश।
एक बार जब आप अपनी छवि बना लेते हैं, तो आप एक कंटेनर का उपयोग शुरू कर सकते हैं [1 9] डॉकर रन :
डॉकर रन-डी-पी 8080: 80 मेरी वेबसाइट: वी 1
हम कुछ अतिरिक्त झंडे का उपयोग कर रहे हैं [1 9] डॉकर रन यहां। NS [1 9] -डी ध्वज कंटेनर से डॉकर क्लि अलग करता है, जिससे इसे पृष्ठभूमि में चलाने की इजाजत मिलती है। एक पोर्ट मैपिंग के साथ परिभाषित किया गया है [1 9] -पी , तो कंटेनर में पोर्ट 80 पर अपने मेजबान मानचित्र पर पोर्ट 8080। यदि आप यात्रा करते हैं तो आपको अपना वेब पेज देखना चाहिए [1 9] लोकलहोस्ट: 8080 अपने ब्राउज़र में।
डॉकर छवियों को परतों से गठित किया जाता है। आपके डॉकरफाइल में प्रत्येक निर्देश एक नई परत बनाता है। आप उन्नत भवन सुविधाओं का उपयोग कर सकते हैं [1 9 7] एकाधिक आधार छवियों का संदर्भ , पहले छवियों से मध्यस्थ परतों को त्यागना।
छवि रजिस्ट्रीज
एक बार जब आपके पास एक छवि हो, तो आप इसे एक रजिस्ट्री में धक्का दे सकते हैं। रजिस्ट्री केंद्रीकृत भंडारण प्रदान करें ताकि आप दूसरों के साथ कंटेनर साझा कर सकें। डिफ़ॉल्ट रजिस्ट्री है डॉकर हब ।
जब आप एक कमांड चलाते हैं जो किसी छवि का संदर्भ देता है, तो डॉकर पहले जांचता है कि यह स्थानीय रूप से उपलब्ध है या नहीं। यदि ऐसा नहीं है, तो यह इसे डॉकर हब से खींचने की कोशिश करेगा। आप मैन्युअल रूप से छवियों को खींच सकते हैं [1 9] डॉकर पुल आदेश:
डॉकर खींचें httpd: नवीनतम
यदि आप एक छवि प्रकाशित करना चाहते हैं, तो एक बनाएं डॉकर हब लेखा। Daud [1 9] डॉकर लॉगिन और अपना उपयोगकर्ता नाम और पासवर्ड दर्ज करें।
इसके बाद, अपने डॉकर हब उपयोगकर्ता नाम का उपयोग करके अपनी छवि को टैग करें:
डॉकर टैग मेरी-छवि: नवीनतम डॉकर-हब-उपयोगकर्ता नाम / मेरी छवि: नवीनतम
अब, आप अपनी छवि को धक्का दे सकते हैं:
डॉकर पुश डॉकर-हब-उपयोगकर्ता नाम / मेरी छवि: नवीनतम
अन्य उपयोगकर्ता आपकी छवि खींचने और इसके साथ कंटेनर शुरू करने में सक्षम होंगे।
आप ऐसा कर सकते हैं अपनी रजिस्ट्री चलाएं यदि आपको निजी छवि भंडारण की आवश्यकता है। कई तृतीय-पक्ष सेवाएं भी ऑफ़र डॉकर रजिस्ट्रीज डॉकर हब के विकल्प के रूप में।
अपने कंटेनर का प्रबंधन
डोकर CLI आप अपने चल रहे कंटेनर का प्रबंधन करते हैं करने के लिए कई आदेशों है। यहां कुछ सबसे उपयोगी लोगों में से कुछ पता करने के लिए कर रहे हैं:
[24 9]