एक कंटेनर से डॉकर छवि कैसे उत्पन्न करें

Eka Kantenara Se Dokara Chavi Kaise Utpanna Karem



डॉकर छवियां डॉकर प्लेटफ़ॉर्म के प्रमुख घटकों में से एक हैं और कंटेनर के अंदर डॉकर अनुप्रयोगों के निर्माण, तैनाती और शिपिंग में एक आवश्यक भूमिका निभाती हैं। डॉकर छवियां कंटेनरों के टेम्प्लेट या स्नैपशॉट हैं जो कंटेनर को एप्लिकेशन को कंटेनरीकृत और तैनात करने का निर्देश देते हैं। एप्लिकेशन को कंटेनरीकृत करने के लिए डॉकर हब रजिस्ट्री पर हजारों आधिकारिक छवियां उपलब्ध हैं। हालाँकि, उपयोगकर्ता Dockerfile और Docker कंपोज़ सेवा का उपयोग करके इन छवियों को अपनी आवश्यकताओं के अनुसार भी बना सकते हैं।

कभी-कभी, उपयोगकर्ता कंटेनर और कॉन्फ़िगरेशन सेटिंग्स में परिवर्तन करते हैं, लेकिन ये परिवर्तन डॉकर छवि में नहीं किए जाते हैं। छवि में कंटेनर परिवर्तनों को सहेजने या कंटेनर बैकअप बनाने के लिए, उपयोगकर्ताओं को कंटेनर से एक नई छवि बनाने की आवश्यकता होती है। उस विशिष्ट उद्देश्य के लिए, ' डोकर प्रतिबद्ध 'कमांड का उपयोग किया जा सकता है।

यह मार्गदर्शिका प्रदर्शित करेगी:







'डॉकर कमिट' कमांड क्या है?

डोकर प्रतिबद्ध कमांड डॉकर की कमांड लाइन उपयोगिताओं में से एक है जिसका उपयोग कंटेनर परिवर्तन और सेटिंग्स को डॉकर छवि में करने के लिए किया जाता है। इसका उपयोग कंटेनर बैकअप बनाने के लिए भी किया जाता है जब उपयोगकर्ताओं को डॉकर कंटेनरों को हटाकर डॉकर को अव्यवस्थित करने की आवश्यकता होती है। हालाँकि, डॉकर कमिट कमांड में केवल कंटेनर फ़ाइल और डॉकर छवि में कॉन्फ़िगरेशन परिवर्तन शामिल हैं, यह कंटेनर के साथ माउंट किए गए वॉल्यूम के डेटा को कभी भी सहेज नहीं पाएगा।



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



डोकर प्रतिबद्ध < विकल्प > < कंटेनर-नाम / कंटेनर-आईडी > < छवि-नाम >

विकल्प





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

< मज़बूत > विकल्प मज़बूत > टीडी >
< टीडी < मज़बूत > विवरण मज़बूत > टीडी >
टी.आर. >
< टी.आर. >
< टीडी < मज़बूत > -ए, --लेखक मज़बूत > टीडी >
< टीडी > इसका उपयोग उस लेखक का नाम निर्दिष्ट करने के लिए किया जाता है जो कंटेनर में परिवर्तन कर रहा है में छवि। टीडी >
टी.आर. >
< टी.आर. >
< टीडी < मज़बूत > -सी, --परिवर्तन मज़बूत > टीडी >
< टीडी > परिवर्तन करने के लिए Dockerfile निर्देश जोड़ें में एक छवि। टीडी >
टी.आर. >
< टी.आर. >
< टीडी < मज़बूत > -एम, --संदेश मज़बूत > टीडी >
< टीडी > प्रतिबद्ध संदेश या टिप्पणी जोड़ें जबकि कंटेनर से एक छवि उत्पन्न करना। टीडी >
टी.आर. >
< टी.आर. >
< टीडी < मज़बूत > -पी, --रोकें मज़बूत > टीडी >
< टीडी > कंटेनर को प्रतिबद्ध करते समय, डिफ़ॉल्ट रूप से, कंटेनर को रोक दिया जाएगा या रोक दिया जाएगा। कंटेनर को रुकने से रोकने के लिए, ' < मज़बूत > --रोकें= असत्य मज़बूत > 'विकल्प का प्रयोग किया जाता है।

डॉकर कंटेनर से एक छवि कैसे उत्पन्न करें?

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



डॉकर कंटेनर के माध्यम से एक छवि बनाने के लिए, निम्नलिखित चित्रण पर जाएँ।

चरण 1: डॉकरफ़ाइल बनाएं

सबसे पहले, एक नई फ़ाइल बनाएं जिसका नाम ' Dockerfile ” और फ़ाइल नाम के साथ कोई फ़ाइल एक्सटेंशन न जोड़ें। उसके बाद, निम्नलिखित कमांड को 'डॉकरफाइल' में पेस्ट करें

Nginx से: नवीनतम

Index.html कॉपी करें / यूएसआर / शेयर करना / nginx / एचटीएमएल / Index.html

प्रवेश बिंदु [ 'nginx' , '-जी' , 'डेमन बंद;' ]

यहां ही ' से 'कमांड का उपयोग कंटेनर बेस इमेज को परिभाषित करने के लिए किया जाता है, ' कॉपी 'कमांड प्रोग्राम फ़ाइल को कंटेनर निर्दिष्ट पथ पर कॉपी करता है, और' प्रवेश बिंदु 'कमांड कंटेनर के डिफ़ॉल्ट निष्पादन योग्य सेट करता है।

चरण 2: प्रोग्राम फ़ाइल बनाएं

इसके बाद, एक और फ़ाइल बनाएं” Index.html ” और फ़ाइल में निम्नलिखित HTML कोड जोड़ें:

< एचटीएमएल >

< सिर >

< शैली >

शरीर {

पृष्ठभूमि-रंग:आरजीबी ( 9 , 4 , 4 ) ;

}

एच 1 {

रंग:आरजीबी ( 221 , 219 , 226 ) ;

फ़ॉन्ट-शैली: इटैलिक;

}

शैली >

सिर >

< शरीर >

< एच 1 > यह पहला HTML पेज है एच 1 >

शरीर >

एचटीएमएल >

चरण 3: कंटेनर का स्नैपशॉट बनाएं

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

डोकर निर्माण -टी डेमो-आईएमजी।

चरण 4: कंटेनर शुरू करने के लिए स्नैपशॉट चलाएँ

इसके बाद, कंटेनर छवि निष्पादित करके कंटेनर प्रारंभ करें। इस प्रयोजन के लिए, 'का उपयोग करें डॉकर रन <स्नैपशॉट-नाम> ' आज्ञा:

डॉकर रन -पी 80 : 80 --नाम डेमो-जारी -डी डेमो-img

उपरोक्त आदेश में, ' -पी 'विकल्प कंटेनर के एक्सपोज़िंग पोर्ट को सेट करता है,' -नाम 'कंटेनर का नाम निर्दिष्ट करता है और' -डी 'विकल्प कंटेनर को अलग मोड में चलाता है:

कंटेनर को निष्पादित करने के बाद, “पर जाएँ” http://localhost:80 'यूआरएल और जांचें कि कंटेनरीकृत प्रोग्राम एक्सपोजिंग पोर्ट पर पहुंच योग्य है या नहीं:

उपरोक्त आउटपुट से पता चलता है कि हमने कंटेनर को सफलतापूर्वक शुरू कर दिया है।

चरण 5: एक नई प्रोग्राम फ़ाइल बनाएँ

कभी-कभी, उपयोगकर्ताओं को चल रहे एप्लिकेशन में अतिरिक्त कार्यक्षमताएं जोड़ने की आवश्यकता हो सकती है। इस प्रयोजन के लिए, उपयोगकर्ता को प्रोग्राम फ़ाइल में परिवर्तन करने की आवश्यकता हो सकती है या एप्लिकेशन में अतिरिक्त फ़ाइलें जोड़नी पड़ सकती हैं।

इस उद्देश्य के लिए, आइए 'नाम से एक और फ़ाइल बनाएं' Index1.html ” और फ़ाइल में निम्नलिखित कोड पेस्ट करें:

< एचटीएमएल >

< सिर >

< शैली >

शरीर {

पृष्ठभूमि-रंग:आरजीबी ( 106 , 103 , 103 ) ;

}

एच 1 {

रंग:आरजीबी ( 221 , 219 , 226 ) ;

फ़ॉन्ट-शैली: इटैलिक;

}

शैली >

सिर >

< शरीर >

< एच 1 > यह दूसरा HTML पेज है एच 1 >

शरीर >

एचटीएमएल >

चरण 6: नई प्रोग्राम फ़ाइल को कंटेनर में कॉपी करें

नई फ़ाइल को कंटेनर पथ में कॉपी करने के लिए, 'का उपयोग करें डॉकर सीपी <फ़ाइल-नाम> : <कंटेनर का गंतव्य पथ> ' आज्ञा। यहां, हमने 'की प्रतिलिपि बनाई है Index1.html 'फ़ाइल को' डेमो-जारी 'कंटेनर का निर्दिष्ट पथ:

डाक में काम करनेवाला मज़दूर सीपी Index1.html डेमो-जारी: / यूएसआर / शेयर करना / nginx / एचटीएमएल / Index1.html

चरण 7: नई छवि में कंटेनर परिवर्तन करें

एक कंटेनर में परिवर्तन करने के बाद, उपयोगकर्ताओं को एक नई डॉकर छवि में परिवर्तन करने की आवश्यकता होती है। यह छवि एक डॉकर कंटेनर के माध्यम से तैयार की जाएगी। इस प्रयोजन के लिए, ' चलाएँ डॉकर प्रतिबद्ध ' आज्ञा:

डॉकर कमिट डेमो-कॉन्ट न्यू-डेमो-आईएमजी

टिप्पणी: छवि उत्पन्न करने से पहले डॉकर कंटेनर में परिवर्तन करना ' डोकर प्रतिबद्ध 'आदेश अनिवार्य नहीं है. उपयोगकर्ता छवि बनाकर कंटेनर का बैकअप उत्पन्न करने के लिए सीधे 'डॉकर कमिट' का उपयोग कर सकते हैं।

चरण 8: पुष्टि

यह जांचने के लिए कि छवि कंटेनर के माध्यम से बनाई गई है या नहीं, 'का उपयोग करके डॉकर छवियों को सूचीबद्ध करें' डॉकर छवियां ' आज्ञा:

डॉकर छवियां

नीचे दिए गए आउटपुट से पता चलता है कि हमने सफलतापूर्वक 'जनरेट किया है' new-डेमो-img ' से ' डेमो-जारी 'कंटेनर:

टिप्पणी: डॉकर छवि को डॉकर हब रजिस्ट्री में धकेलने के लिए, उपयोगकर्ता 'का उपयोग करके छवि को टैग भी कर सकता है' डोकर टैग ' आज्ञा:

डोकर टैग < छवि-नाम > < भंडार-नाम >>< छवि-नाम > : < टैग / संस्करण >

चरण 9: पुराने कंटेनर को हटा दें

अब, पुराने कंटेनर को हटा दें। इस प्रयोजन के लिए, सबसे पहले, डॉकर कंटेनर को 'का उपयोग करके रोकें' डॉकर स्टॉप <कंटेनर-नाम> ' आज्ञा:

डोकर स्टॉप डेमो-जारी

कंटेनर को रोकने के बाद, 'का उपयोग करें डॉकर आरएम <कंटेनर-नाम/कंटेनर-आईडी> इसे डॉकर से हटाने का आदेश:

डाक में काम करनेवाला मज़दूर आर एम डेमो-जारी

चरण 10: नई प्रतिबद्ध छवि से नया कंटेनर चलाएँ

अब, 'के माध्यम से नव निर्मित छवि का उपयोग करके नया इंस्टेंस या डॉकर कंटेनर शुरू करें डॉकर रन ' आज्ञा:

डॉकर रन -पी 80 : 80 --नाम डेमो-जारी -डी new-डेमो-img

अब, “पर जाएँ” लोकलहोस्ट:80 'पोर्ट करें और जांचें कि HTML एप्लिकेशन प्रभावी ढंग से चल रहा है या नहीं:

नई कॉपी की गई फ़ाइल की जाँच करने के लिए “ Index1.html ', ' का उपयोग करें http://localhost/index1.html 'यूआरएल:

उपरोक्त आउटपुट से पता चलता है कि प्रतिबद्ध परिवर्तन 'में सफलतापूर्वक सहेजे गए हैं' new-डेमो-img डॉकर छवि और हमने संशोधित कंटेनर को प्रभावी ढंग से चलाया है।

किसी छवि का लेखक कैसे सेट करें?

डोकर प्रतिबद्ध कमांड प्रतिबद्ध परिवर्तनों के साथ अतिरिक्त जानकारी जोड़ने के लिए विभिन्न विकल्पों का भी समर्थन करता है जैसे कि नए परिवर्तनों के लेखक, प्रतिबद्ध संदेश, इत्यादि।

छवि के लेखक को निर्दिष्ट करने के लिए जो नए परिवर्तन कर रहा है, दिए गए चरणों से गुजरें।

चरण 1: छवि का लेखक सेट करें

छवि के लेखक को निर्दिष्ट करने के लिए जो परिवर्तन कर रहा है, 'का उपयोग करें -ए ' या ' -लेखक 'के साथ विकल्प' डोकर प्रतिबद्ध ' आज्ञा:

डोकर प्रतिबद्ध -ए राफिया डेमो-कंट न्यू-डेमो-आईएमजी

चरण 2: छवि का निरीक्षण करें

यह सत्यापित करने के लिए कि छवि का लेखक सेट है या नहीं, 'का उपयोग करके नव निर्मित छवि का निरीक्षण करें डॉकर <छवि-नाम> का निरीक्षण करता है ' आज्ञा:

डॉकर न्यू-डेमो-आईएमजी का निरीक्षण करें

आउटपुट से पता चलता है कि हमने छवि के लेखक को प्रभावी ढंग से सेट कर दिया है:

इमेज का कमिट मैसेज कैसे सेट करें?

प्रतिबद्ध परिवर्तनों के साथ प्रतिबद्ध संदेश सेट करने के लिए, ' का उपयोग करें -एम ' विकल्प। उदाहरण के लिए, नीचे दिए गए निर्देशों का पालन करें।

चरण 1: छवि का प्रतिबद्ध संदेश सेट करें

संदेश को प्रतिबद्ध परिवर्तनों के साथ सेट करने के लिए, 'का उपयोग करें' डॉकर कमिट -m <'संदेश'> ' आज्ञा:

डोकर प्रतिबद्ध -ए दुराचार -एम 'यह छवि कंटेनर द्वारा बनाई गई है' डेमो-जारी नया-डेमो-आईएमजी

चरण 2: छवि का निरीक्षण करें

प्रतिबद्ध संदेश की जांच करने के लिए, 'के माध्यम से छवि का निरीक्षण करें डॉकर <छवि-नाम> का निरीक्षण करता है ' आज्ञा:

डॉकर न्यू-डेमो-आईएमजी का निरीक्षण करें

नीचे ' टिप्पणी 'कुंजी, उपयोगकर्ता प्रतिबद्ध संदेश देख सकता है जैसा कि नीचे दिखाया गया है:

यह सब एक कंटेनर से डॉकर छवि उत्पन्न करने के बारे में है।

निष्कर्ष

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