डॉकर - स्टोरेज

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

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

प्रौद्योगिकी भंडारण चालक
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

उत्पादन

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