‫سيكون هذا القسم مليئًا بالمحاضرات والواجبات حول البيانات المستمرة.
‫أولاً ، سنناقش مشاكل البيانات المستمرة وكيف أصبح ذلك مشكلة
‫في المقام الأول.
‫المفاهيم الأساسية هناك التي تحتاج إلى فهمها هي فكرة البنية التحتية الثابتة.
‫والفكرة حول الحاويات تكون سريعة الزوال بشكل طبيعي في التصميم.
‫سنغطي هؤلاء في المحاضرة الأولى. ثم سنتعمق في أحجام البيانات وكيف يحل هؤلاء بعضًا
‫من مشكلاتنا المتعلقة بالبيانات الثابتة. ثم سنبحث أيضًا في روابط الربط وكيف يحل ذلك مشكلات
‫مختلفة تتعلق بالبيانات المستمرة. بعد ذلك سننهي هذا القسم بمهمتين حول كيفية الحفاظ على بيانات
‫قاعدة البيانات ، مع استبدال حاويات قواعد البيانات. ثم أيضًا حول تركيب الكود في حاوية
‫من المضيف أثناء قيامك بتحريره ، بحيث يمكنك تشغيل
‫هذا الرمز داخل الحاوية مباشرة. متطلبات هذه المحاضرة الأولى هي مجرد فهم كيفية تشغيل
‫الحاويات ، ومفاهيم الحاوية والصورة التي ناقشناها حتى الآن.
‫حتى الآن ، كنت قلقًا فقط بشأن ما هو مطلوب لتشغيل حاوية ، وليس البيانات الفريدة التي قد يتم إنشاؤها
‫بمجرد تشغيل الحاوية.
‫من المفترض أن تكون الحاويات غير قابلة للتغيير وسريعة الزوال.
‫هذه مجرد كلمات طنانة خيالية لا تتغير ومؤقتة ، أو يمكن التخلص منها.
‫الفكرة هنا هي أنه يمكننا التخلص من حاوية وإنشاء حاوية جديدة من الصورة ، أليس
‫كذلك؟
‫ثم نحن لا نتحدث عن قيود فعلية للحاويات ، بل نتحدث عن هدف تصميم أو أفضل
‫ممارسة.
‫هذه هي فكرة البنية التحتية غير القابلة للتغيير حيث لا نغير الأشياء بمجرد تشغيلها.
‫إذا كان يلزم إجراء تغيير في التكوين ، أو ربما كانت ترقية إصدار الحاوية بحاجة إلى الحدوث ، فإننا
‫نعيد نشر حاوية جديدة بالكامل.
‫يمنحنا هذا فوائد كبيرة في الموثوقية والاتساق ، وجعل التغييرات قابلة للتكرار.
‫لكن هناك مقايضة.
‫ماذا عن البيانات الفريدة التي سينتجها تطبيقك؟ قواعد البيانات هذه ، أو مخازن القيمة الرئيسية ،
‫أو أي شيء آخر يبصقه تطبيقك في ملف؟
‫من الناحية المثالية ، يجب ألا تحتوي الحاويات على بياناتك الفريدة الممزوجة مع ثنائيات التطبيق. يُعرف هذا باسم "فصل الاهتمامات"
‫ويعطينا Docker فائدة كبيرة هنا.
‫يمكننا تحديث تطبيقنا من خلال إعادة إنشاء حاوية جديدة ، بإصدار محدث من تطبيقنا ، ومن الناحية المثالية ، لا تزال بياناتنا
‫الفريدة في المكان الذي يجب أن تكون فيه وقد تم الاحتفاظ بها لنا أثناء إعادة تدوير الحاوية الخاصة بنا.
‫في حال لم تكن قد لاحظت حتى الآن ، فإن الحاويات التي استخدمناها ، افتراضيًا ، كانت ثابتة.
‫تم الاحتفاظ بأي تغييرات فيها بالفعل عبر عمليات إعادة التشغيل وإعادة التشغيل حتى أزلنا الحاوية.
‫لمجرد أننا أوقفنا الحاوية أو أعدنا تشغيل المضيف
‫، فهذا لا يعني أن تغييرات ملف الحاوية تختفي.
‫فقط عندما نزيل الحاوية تختفي طبقة UFS الخاصة بها ، لكننا نريد أن نكون قادرين على القيام
‫بذلك حسب الرغبة.
‫تُعرف مشكلة البيانات الفريدة هذه في الصناعة باسم "البيانات المستمرة" وحتى
‫الحاويات ، لم يكن لدينا اسمًا لذلك. لأنه ، حسنًا ، كانت معظم الأشياء التي أنشأناها ثابتة ،
‫مثل تلك الخوادم القديمة التي كانت تشغل هذا التطبيق القديم لمدة خمس أو 10 سنوات أو أكثر.
‫كل شيء كان ثابتًا بشكل افتراضي.
‫الآن في العالم الجديد للحاويات والتوسيع التلقائي للتطبيق ، تخلق البيانات المستمرة
‫مشكلة فريدة.
‫لدى Docker حلين لهذه المشكلة ، يُعرفان باسم "وحدات
‫تخزين البيانات" و "حوامل الربط. "وحدات تخزين Docker هي خيار تكوين لحاوية
‫تنشئ موقعًا خاصًا خارج نظام ملفات الاتحاد الخاص بالحاوية
‫لتخزين البيانات الفريدة.
‫هذا يحفظها عبر عمليات إزالة الحاويات ويسمح لنا بإرفاقها بأي حاوية نريدها.
‫وتراه الحاوية كمسار ملف محلي.
‫ثم هناك روابط ربط ، والتي هي ببساطة نشارك أو نشارك دليل مضيف ، أو ملف ، في حاوية.
‫مرة أخرى ، سيبدو مثل مسار ملف محلي ، أو مسار دليل ، إلى الحاوية.
‫لن يعرف في الواقع أنه قادم من المضيف.