Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

मूल छवियों को संशोधित किए बिना डॉकर छवियों में तुरंत परिवर्तन जारी रखें

<पी> डॉकर छवियां अपरिवर्तनीय हैं। एक बार निर्मित होने के बाद, वे बदलते नहीं हैं। यह निरंतरता, पूर्वानुमेयता और स्थिरता सुनिश्चित करता है। एक ही छवि से बनाया गया प्रत्येक कंटेनर समान व्यवहार करता है, और संस्करण सुरक्षित और आसान हो जाता है। लेकिन क्या होगा यदि आपको किसी चालू कंटेनर के अंदर कुछ बदलाव करने की ज़रूरत है, जैसे पैकेज स्थापित करना या कॉन्फ़िगरेशन अपडेट करना? यहीं पर डॉकर कमिट आता है। यह आपको एक चालू कंटेनर में परिवर्तनों को कैप्चर करने और मूल को छुए बिना एक नई छवि बनाने की सुविधा देता है। यह सुधारों का परीक्षण करने, शीघ्रता से पुनरावृत्ति करने और स्क्रैच से पुनर्निर्माण किए बिना कस्टम छवियों को रोल आउट करने के लिए बहुत अच्छा है।

<पी> सामग्री तालिका

डॉकर छवियां क्यों नहीं बदलती

<पी> डॉकर छवियों में कई केवल-पढ़ने योग्य परतें होती हैं। जब आप एक कंटेनर चलाते हैं, तो डॉकर शीर्ष पर एक पतली लिखने योग्य परत जोड़ता है जिसे कंटेनर परत कहा जाता है। आपके द्वारा किया गया कोई भी परिवर्तन केवल इसी शीर्ष परत में होता है। एक बार जब कंटेनर हटा दिया जाता है, तो उस परत में सभी परिवर्तन गायब हो जाते हैं, जिससे मूल छवि अपरिवर्तित रह जाती है।

<पी> यह डिज़ाइन कई लाभों की गारंटी देता है:

  • समान छवि का प्रत्येक कंटेनर एक जैसा व्यवहार करता है, जिससे स्थिरता सुनिश्चित होती है।
  • एक कंटेनर में परिवर्तन दूसरों को प्रभावित नहीं करते, पूर्वानुमेयता प्रदान करते हैं।
  • आप बिना जोखिम के विशिष्ट छवि संस्करणों को सुरक्षित रूप से टैग कर सकते हैं।
<पी> यह डिज़ाइन उत्कृष्ट स्थिरता प्रदान करता है, लेकिन जब आप किसी चालू कंटेनर में त्वरित परिवर्तन करना चाहते हैं तो यह आपको सीमित कर देता है। यहीं docker commit है मदद करता है.

एक चालू कंटेनर से एक नई छवि बनाता है

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

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

<पी> आप docker commit का उपयोग कर सकते हैं चल रहे कंटेनर से एक नई छवि बनाने के लिए निम्नलिखित सिंटैक्स के साथ कमांड:

docker commit [OPTIONS] CONTAINER_ID NEW_IMAGE_NAME[:TAG]
<पी> यहां, CONTAINER_ID उस कंटेनर की आईडी या नाम है जिसे आप कैप्चर करना चाहते हैं, NEW_IMAGE_NAME यह वह नाम है जो आप नई छवि के लिए चाहते हैं, और TAG वैकल्पिक है, डिफ़ॉल्ट नवीनतम है।

<पी> नोट: docker commit docker container commit के लिए एक विरासती उपनाम है; दोनों एक जैसे हैं.

<पी> docker commit कमांड कई विकल्प प्रदान करता है जो आपको मेटाडेटा जोड़ने, कॉन्फ़िगरेशन परिवर्तन लागू करने और प्रतिबद्ध प्रक्रिया के व्यवहार को नियंत्रित करने देता है। नीचे दी गई तालिका सभी समर्थित विकल्पों का सारांश प्रस्तुत करती है:

विकल्प दीर्घ रूप विवरण उदाहरण -a–author नई छवि मेटाडेटा में लेखक का नाम जोड़ता है।docker commit -a "Anees" my-container my-image -c–changeनई छवि पर ENV, LABEL, या CMD जैसे डॉकरफ़ाइल निर्देश लागू करता है।docker commit -c "ENV APP_ENV=prod" my-container my-image -m–message छवि में किए गए परिवर्तनों का वर्णन करने वाला एक संक्षिप्त संदेश जोड़ता है।docker commit -m "Installed curl" my-container my-image -p–pause स्थिरता सुनिश्चित करने के लिए प्रतिबद्धता के दौरान कंटेनर को रोक देता है (डिफ़ॉल्ट:सत्य)।docker commit --pause=false my-container my-image

देखें कि डॉकर कमिट कैसे काम करता है

<पी> मान लीजिए कि आप अपने डॉकरफ़ाइल का पुनर्निर्माण किए बिना अल्पाइन कंटेनर में कर्ल स्थापित करना चाहते हैं। ऐसा करने के लिए, आधार छवि से एक कंटेनर चलाएँ:

docker run -it alpine:latest /bin/sh
<पी> एक बार जब आप कंटेनर में हों, तो आवश्यक परिवर्तन करें:

apk update && apk add curl
मूल छवियों को संशोधित किए बिना डॉकर छवियों में तुरंत परिवर्तन जारी रखें <पी> अब कंटेनर से बाहर निकलें:

exit
<पी> इसके बाद, कंटेनर को एक नई छवि के रूप में कमिट करें:

docker commit alpine-with-curl:1.0
मूल छवियों को संशोधित किए बिना डॉकर छवियों में तुरंत परिवर्तन जारी रखें <पी> अपनी नई छवि सत्यापित करें:

docker images
<पी> अब, आपके पास कहीं भी चलाने के लिए एक नई छवि तैयार है, जिसमें कर्ल पहले से इंस्टॉल है।

मूल छवियों को संशोधित किए बिना डॉकर छवियों में तुरंत परिवर्तन जारी रखें

सहेजे गए परिवर्तनों का परीक्षण करने के लिए अपनी नई छवि चलाएँ

<पी> अपनी नई छवि बनाने के बाद, आप यह सत्यापित करने के लिए उसमें से एक कंटेनर चला सकते हैं कि आपके परिवर्तन सहेजे गए हैं।

docker run -it alpine-with-curl:1.0 /bin/sh
<पी> यह कमांड alpine-with-curl:1.0 के आधार पर एक कंटेनर के अंदर एक इंटरैक्टिव शेल खोलता है छवि. एक बार अंदर जाने के बाद, आप जांच सकते हैं कि आपके संशोधन बरकरार हैं।

curl --version
<पी> यह दर्शाता है कि नई छवि में परिवर्तन जारी हैं।

मूल छवियों को संशोधित किए बिना डॉकर छवियों में तुरंत परिवर्तन जारी रखें

डॉकर कमिट बनाम डॉकरफाइल:कब किसका उपयोग करें

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

<पी> जब आपको विश्वसनीय और दोहराने योग्य बिल्ड की आवश्यकता होती है, खासकर सीआई/सीडी पाइपलाइनों और उत्पादन वातावरण के लिए, तो डॉकरफाइल सबसे अच्छा विकल्प है। यह सभी परिवर्तनों को कोड में स्पष्ट रूप से परिभाषित रखता है, जिससे समय के साथ उन्हें ट्रैक करना, समीक्षा करना और संस्करण-नियंत्रण करना आसान हो जाता है। यह दृष्टिकोण सुनिश्चित करता है कि छवि बनाने वाले किसी भी व्यक्ति को बाद में वही परिणाम मिले, जो दीर्घकालिक रखरखाव और टीम सहयोग के लिए महत्वपूर्ण है।

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

<पी> संक्षेप में, आप docker commit का उपयोग कर सकते हैं मुख्यतः प्रयोग या अस्थायी सुधार के लिए। उत्पादन-तैयार छवियों के लिए, हमेशा डॉकरफ़ाइल को प्राथमिकता दें। डॉकर से अधिकतम लाभ प्राप्त करने के लिए, अन्य प्रमुख कमांडों की खोज करना उचित है जो कंटेनर, छवियों और वर्कफ़्लो के साथ काम करना आसान बनाते हैं।


  1. 8 स्मार्ट फोल्डर आपको अपने मैक पर चाहिए (और उन्हें कैसे सेट करें) 8 स्मार्ट फोल्डर आपको अपने मैक पर चाहिए (और उन्हें कैसे सेट करें)

    स्मार्ट फोल्डर macOS की सबसे कम उपयोग की जाने वाली विशेषताओं में से एक है। जो शर्म की बात है, क्योंकि वे आपके कंप्यूटर पर फ़ाइलें ढूंढना बहुत आसान बनाते हैं। वे आपका काफी समय बचा सकते हैं और आपके मैक का उपयोग करने के तरीके को बदल सकते हैं। लेकिन उन्हें ठीक से सेट अप करने के लिए कुछ चरणों की आवश्यकत

  1. Windows प्रतिबंधित फ़ोल्डरों तक पहुंचने के शीर्ष तरीके Windows प्रतिबंधित फ़ोल्डरों तक पहुंचने के शीर्ष तरीके

    हालाँकि विंडोज सबसे आसान और सबसे उपयोगकर्ता के अनुकूल ऑपरेटिंग सिस्टम में से एक है, लेकिन आपको अक्सर कुछ समस्याओं का सामना करना पड़ सकता है। लोगों द्वारा सामना की जाने वाली प्रमुख समस्याओं में से एक अपने स्वयं के डेटा और कभी-कभी अपने महत्वपूर्ण फ़ोल्डरों तक पहुंच खो रही है। ऐसे कई कारण हैं जो इस समस

  1. Windows 10 पर नेटवर्क सेटिंग्स को पूरी तरह से कैसे रीसेट करें Windows 10 पर नेटवर्क सेटिंग्स को पूरी तरह से कैसे रीसेट करें

    विंडोज 10 एनिवर्सरी अपडेट में एक कम ज्ञात जोड़ नेटवर्क रीसेट सुविधा है। यह सुविधा आपके नेटवर्क ड्राइवरों और सेटिंग्स का क्लीन स्वीप करती है ताकि आप नए सिरे से शुरुआत कर सकें। यह विशेष रूप से आसान है यदि आपके पास नेटवर्क समस्याएँ हैं और आपने जो कुछ भी करने की कोशिश की है वह समस्या को ठीक करने के लिए