‫في هذه المحاضرة ، سوف نتحدث عن ربط البيانات المتصاعدة والمستمرة في تلك التصاعد. المتطلبات هي حقًا أنك تعرف فقط إدارة
‫الحاويات وكيفية تشغيل الحاويات.
‫دعنا نقفز. دعونا نتحدث عن ربط يتصاعد. إنها في الواقع رائعة جدًا.
‫عندما علمت عنهم لأول مرة ، أعطاني نوعًا ما فكرة عن كيفية استخدام Docker بسهولة للتنمية
‫المحلية.
‫حقًا ، ربط الربط هو مجرد تعيين لملفات المضيف ، أو الدلائل ، في ملف أو دليل
‫حاوية. يمكنك فعل ذلك بالضبط.
‫يمكنك إما تحديد دليل أو ملف واحد فقط. في الخلفية ، يكون مجرد
‫وجود الموقعين يشير إلى نفس المواقع الفعلية على القرص.
‫مرة أخرى ، يتخطى هذا في الواقع UFS مثل وحدات التخزين الأخرى بحيث لا يمحو
‫موقع المضيف عند حذف الحاوية.
‫إذا كانت هناك أي ملفات في الحاوية تقوم بتعيين ملفات المضيف إليها ، فستفوز ملفات المضيف. لا يقوم في الواقع بحذف الملفات الموجودة
‫في الحاوية التي تم استبدالها لأنها لا تقوم بالفعل بالكتابة فوق أي شيء
‫في الحاوية.
‫إنه هناك فقط بينما يوجد حامل الربط.
‫في اللحظة التي لا تحتاج فيها إلى تحميل الرابط بعد الآن وإعادة تشغيل الحاوية بدونها ،
‫سترى بالفعل البيانات الأساسية التي كانت موجودة من قبل. نظرًا لأن عمليات ربط الربط عادةً ما تكون خاصة بالمضيف
‫، فإنها تحتاج إلى بيانات محددة لتكون على القرص الصلب للمضيف لكي تعمل.
‫لا يمكنك تحديدها في Dockerfile.
‫يجب عليك استخدامها في وقت التشغيل عند استخدام أمر تشغيل حاوية عامل الإرساء. يمكنك رؤية الشكل هنا.
‫إنه حقًا حرف -v الذي استخدمناه من قبل ، فقط على الجانب الأيسر من القولون
‫، نحن في الواقع نضع مسارًا كاملاً بدلاً من مجرد اسم.
‫والطريقة التي يمكن بها Docker في الواقع معرفة الفرق بين الحجم المحدد ، كما
‫فعلنا منذ فترة ، وحامل الربط ، هو أن قاعدة الربط تبدأ بشرطة مائلة للأمام.
‫في نظام التشغيل Windows ، ستلاحظ أنه عبارة عن شريحتين مائلتين للأمام ثم حرف محرك الأقراص ، ثم المسار
‫الخاص بك.
‫طالما لديك النقطتان اليسرى والجانب الأيمن ، يمكنك حقًا تعيين أي شيء تريده من المضيف
‫في الحاوية ، ويمكنك أيضًا تحديد أشياء مثل للقراءة فقط.
‫حيث يتألق هذا حقًا مع خدمات التطوير والتشغيل داخل الحاوية الخاصة بك والتي
‫تصل إلى الملفات التي تستخدمها على مضيفك أو تقوم بتغييرها.
‫لنفعل ذلك مع Nginx.
‫إذا انتقلت إلى جذر المستودع الخاص بنا لهذه الدورة التدريبية ، ثم انتقلنا إلى دليل نموذج Dockerfile
‫2. الآن كنا هنا في وقت سابق.
‫إذا كنت تتذكر ، فهناك ملفان. هذا لـ Nginx ، أليس كذلك؟
‫إذا نظرنا إلى Dockerfile الحقيقي بسرعة ، فهو بسيط جدًا. إنه مجرد تحديد دليل عمل ثم نسخ ملف فهرس
‫إلى هذا الدليل.
‫لا توجد مجلدات هنا.
‫لا يتطلب حامل الربط حجمًا للعمل ، على الرغم من أنه يمكن أن يكون هناك بالتأكيد.
‫المضيف دائما يفوز ، تذكر؟ لذلك ، عندما نقوم بتشغيل حاوية عامل إرساء ، فإننا
‫نقوم بعمل a -d ... دعونا نسميها nginx.
‫دعونا نعطيه المنفذ 8080 كما كان من قبل.
‫ثم سنمنحه الحجم هذه المرة. وأريد أن أخبرها أنه سيتم بالفعل تثبيت دليل العمل
‫الحالي الخاص بي في دليل العمل هذا في الحاوية. نظرًا لأن ملف الفهرس الخاص بي موجود هنا في
‫هذا المجلد ، فأنا
‫أريده أن يكون في الحاوية حتى أتمكن من تحريره هنا ، ويمكن رؤيته مباشرة في الحاوية.
‫لذلك سيكون له معنى في ثانية.
‫إليك نصيحة صغيرة سريعة. بدلاً من الاضطرار إلى اكتشاف طريقي
‫بالكامل وكتابة كل شيء فيه ، يمكنك استخدام pwd هنا على هذا النحو.
‫وهو اختصار shell الذي يقول ، "اطبع دليل العمل واستبدل هذا الأمر بهذا المسار.
‫ثم
‫سنستخدم نفس دليل العمل من Dockerfile هناك ، ثم سنقوم بتحديد
‫صورة Nginx.
‫ما سأفعله ، سريعًا ، هو أنني سأفتح نافذة طرفية أخرى حتى نتمكن من القيام
‫بأمرين في وقت واحد.
‫لا تحتاج حقًا إلى القيام بذلك.
‫في الأساس ، سنقوم فقط بتحرير الملف على مضيفنا ، وبعد ذلك سأكون في الحاوية وأرى
‫ما يحدث.
‫لذلك فقط للتأكد من أنها تعمل ، دعنا
‫نذهب إلى المضيف المحلي.
‫حسنًا ، هذا ليس ملف Nginx HTML الافتراضي.
‫واستخدمنا صورة Nginx العادية.
‫لم نستخدم في الواقع الشخص المخصص من هذا الدليل.
‫لقد استخدمنا للتو صورة مخزون. لإثبات هذه النقطة ، يمكننا فعل الأمر نفسه ، بالضبط
‫مرة أخرى ، لكننا نخرج -v ، وسأقوم بتشغيله على المنفذ 8080 بدلاً من ذلك. وسأسمي هذا nginx2.
‫إذا انتقلت إلى المستعرض الخاص بي وانتقلت إلى localhost 8080 ، فهذا هو مؤشر nginx الافتراضي. ملف html.
‫هذا هو العرف الذي نعيشه في هذا الدليل.
‫لذلك ، يمكننا بالفعل أن نرى أنه رسمها بشكل صحيح.
‫إذا فتحت علامة تبويب أخرى هنا وحصلت على سطر أوامر في الحاوية.
‫ثم انتقل إلى هذا الدليل.
‫ستلاحظ أنه يمكننا بالفعل رؤية Dockerfile لأننا نقوم بتعيين الدليل بأكمله.
‫إذا كنت على اليسار ، إذا أنشأنا ملفًا جديدًا بالفعل ويمكنني فقط استخدام أمر Linux touch هذا
‫لإنشاء ملف جديد. ثم على اليمين ... وجه الفتاة... فقط استمر في نسيان ذلك ... ls -al ، وسترى ذلك
‫في ملفك.
‫نأمل أن تفهم ما يحدث هنا ، أن كلا الموقعين هما نفس الموقع.
‫وإذا رددت شيئًا ما في ملف الاختبار هذا
‫، ثم ...
‫ها أنت ذا.
‫إن nginx الخاص بنا قادر على رؤية التغييرات لأنه مجرد مسار ملف عادي في الحاوية
‫، وهذه الملفات موجودة على المضيف.
‫إذا كنت سأحذفها في الحاوية ، فسيتم حذفها من المضيف لأنها نفس
‫الملف.
‫هذا هو الوقت الذي أحصل فيه عادةً على مطور لجعل تفكيره يفكر في جميع بيئات التطوير التي يمتلكها
‫والتي هي عبارة عن هذا الإعداد المعقد. ربما يستخدمون Vagrant ، أو طريقة يدوية أخرى
‫لإعداد بيئتهم المثالية ، ويمكنهم البدء في رؤية كيف يمكن أن يجعل ذلك الأمر أكثر بساطة.
‫نظرًا لأنني لم أضطر إلى إجراء أي إعداد معقد على جهاز Mac الخاص بي ، فقد قمت بتشغيل حاوية.
‫لقد استخدمت الأمر -v مع أداة التحميل ، والآن يمكن تحرير الكود الخاص بي ، على مضيفي ، على مضيفي.
‫وأنا حقًا لا أحتاج أبدًا إلى الدخول في هيكل الحاوية.
‫عادة ، يمكنك فقط تشغيل الحاوية وإلقاء نظرة على سجلاتها لمعرفة ما إذا كانت هناك أي أخطاء أثناء
‫الترميز.
‫بالطبع ، هذا مثال بسيط مع Nginx. لاحقًا ، سيكون لدينا بالفعل أمثلة محددة
‫لبيئات التطوير المختلفة للتنمية المحلية والحاويات.