راجعت أن هذه البيانات يتم تخزينها بالفعل على بوت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دوكر ، ويجب عليك استخدام نمط حجم البيانات (فقط).
من المفترض أن تقوم بإنشاء حاوية البيانات الخاصة بك باستخدام -v /var/lib/mysql، بدلا من -v /data:/var/lib/mysql.
إذا كنت ترغب في إضافة تكوين آخر إلى ملفات النظام التي سوف تستمر بين إعادة تشغيل فم مثل القيم الإضافية في ملف المضيفين الخاص بك ثم يمكنك إضافة أمر مثل واحد أدناه إلى / فار/ليب / بوت2دوكر / الملف الشخصي: