2014-06-18 29 views
14

डॉकर में डॉकर वॉल्यूम्स और वॉल्यूम कंटेनर क्यों हैं? उनके बीच प्राथमिक अंतर क्या है। मैंने डॉकर डॉक्स के माध्यम से पढ़ा है लेकिन वास्तव में इसे अच्छी तरह समझ नहीं पाया।डॉकर में डॉकर वॉल्यूम और वॉल्यूम कंटेनर क्यों हैं

उत्तर

24

डोकर मात्रा

अपने कंटेनर में एक नया मात्रा बनाने के लिए डोकर संस्करणों का उपयोग कर सकते है और अपने मेजबान के एक फ़ोल्डर में माउंट करने के लिए। जैसे आप इस तरह से आपके कंटेनर में अपने लिनक्स मेजबान के फ़ोल्डर /var/log माउंट सकता है:

docker run -d -v /var/log:/opt/my/app/log:rw some/image 

यह एक फ़ोल्डर /opt/my/app/log अपने कंटेनर के अंदर बुलाया पैदा करेगा। और यह फ़ोल्डर आपके लिनक्स होस्ट पर /var/log होगा। आप डेटा को जारी रखने या अपने कंटेनरों के बीच डेटा साझा करने के लिए इसका उपयोग कर सकते हैं।

डोकर मात्रा कंटेनर

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

इस कंटेनर एक मात्रा है जो आप कंटेनरों के बीच साझा करना चाहते हैं, उदा .:

docker run -d -v /some/data/to/share --name MyDataContainer some/image 

इस कंटेनर कुछ आवेदन (जैसे एक डाटाबेस) चलाने के लिए और एक फ़ोल्डर /some/data/to/share कहा जाता है होगा। आप इस फ़ोल्डर को किसी अन्य कंटेनर के साथ साझा कर सकते हैं:

docker run -d --volumes-from MyDataContainer some/image 

यह कंटेनर पिछले कमांड के समान वॉल्यूम भी देखेगा। आप वॉल्यूम को कई कंटेनर के बीच साझा कर सकते हैं क्योंकि आप अपने होस्ट के आरोहित फ़ोल्डर को साझा कर सकते हैं। लेकिन यह आपके होस्ट को डेटा के साथ प्रदूषित नहीं करेगा - सबकुछ अभी भी अलग कंटेनर में encapsulated है।

मेरी संसाधनों

https://docs.docker.com/userguide/dockervolumes/

+0

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

+1

क्या मौजूदा वॉल्यूम कंटेनर दिखाने के लिए कोई आसान डॉकर कमांड है? और संभवतः डेटा निर्भरता संरचना? –

+0

वॉल्यूम कंटेनर अन्य डॉकर कंटेनर के समान ही हैं। वॉल्यूम कंटेनर के रूप में कौन से कंटेनरों का उपयोग किया जा रहा है यह बताने का सबसे अच्छा तरीका है उन्हें उचित रूप से नाम देना। फिर आप जल्दी से बता सकते हैं कि 'डॉकर ps' कमांड का उपयोग कर वॉल्यूम कंटेनर कौन से हैं। – freethebees

संबंधित मुद्दे