मैंने जाँच की कि यह डेटा वास्तव में बूट 2 डॉकर वीएम (डॉकर-मशीन द्वारा निर्मित) पर संग्रहीत है और कंटेनर पर नहीं, ताकि यह बना रहे । हालांकि "डॉकर-मशीन पुनरारंभ" वीएम पर इस कस्टम डेटा को साफ़ करता है ।
जो हो रहा है उस पर मुझे दस्तावेज नहीं मिल रहे हैं । मुझे एक फ़ोरम पोस्ट में यह उल्लेख करते हुए पाया गया कि /वार/लिब/डॉकर में डेटा संरक्षित किया जाएगा, लेकिन मुझे यह बताते हुए कोई आधिकारिक दस्तावेज़ नहीं मिला और यह भी अजीब लगता है कि ऊपर लगातार स्टोरेज गाइड इस पथ का उपयोग नहीं करता है या यहां तक कि यह भी उल्लेख करता है कि आपका डेटा हटा दिया जाएगा ।
क्या यह अपेक्षित है और यदि ऐसा है तो क्या लगातार डेटा संग्रहीत करने के लिए सही रास्ते पर कोई आधिकारिक दस्तावेज है?
संपादित करें: असफल सेनारियो का उदाहरण जोड़ना
$ docker-machine ssh altdocker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c "echo 'hello' > /var/lib/mysql/hello"docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"hellodocker@alt:~$ exit$ docker-machine restart altStarting VM...$ docker-machine ssh altdocker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"cat: can't open '/var/lib/mysql/hello': No such file or directory
मैं बूट 2 डॉकर का उपयोग नहीं करता, लेकिन अगर /डेटा रिबूट पर मिटा दिया जाता है, तो यही वह जगह है जहां आपका वॉल्यूम संग्रहीत किया जा रहा है (docker run -v /data:/var/lib/mysql), तो यह खो जाएगा ।
आप जो कर रहे हैं वह वॉल्यूम दृढ़ता से निपटने के लिए दो अलग-अलग पैटर्न भी जोड़ रहा है । दृढ़ता प्राप्त करने के लिए, कंटेनर होस्ट सिस्टम पर एक निर्दिष्ट स्थान से वॉल्यूम माउंट कर सकते हैं (जिसे लगातार माना जाता है), या वे डेटा कंटेनर से जुड़े हो सकते हैं, और इसके साथ माउंट किए जा सकते हैं --volumes-from. ऐसा लगता है कि होस्ट फाइल सिस्टम दृष्टिकोण बूट 2 डॉकर के लिए उपयुक्त नहीं है, और आपको डेटा वॉल्यूम पैटर्न (केवल) का उपयोग करना चाहिए ।
ध्यान दें कि मैं मैक बीटा के लिए डॉकर का उपयोग कर रहा हूं जो एक्सहाइव वीएम का उपयोग कर रहा है ।
मशीन के बीच /वार/लिब/बूट 2 डॉकर की सामग्री बनी रहेगी restarts.So यदि आप चाहते हैं कि आपके वीएम पर कुछ फाइलें उपलब्ध हों, तो उन्हें इस निर्देशिका में रखें ।
यदि आप चाहते हैं कि वे डॉकर कंटेनर चलाने के लिए एक अलग स्थान पर पहुंच योग्य हों तो आप निम्नलिखित को /वार/लिब/बूट 2 डॉकर/प्रोफाइल में जोड़ सकते हैं:
यदि आप चाहते हैं जोड़ने के लिए अन्य विन्यास के लिए सिस्टम फ़ाइलों होगा कि जारी रहती है के बीच वीएम पुनरारंभ हो जाता है इस तरह के रूप में अतिरिक्त मूल्यों में अपने मेजबान फ़ाइल है, तो आप जोड़ सकते हैं एक कमांड के रूप में इस तरह के एक करने के लिए नीचे के /var/lib/boot2docker/प्रोफ़ाइल: