ما هو Docker Bind Mounts؟

Ma Hw Docker Bind Mounts



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

ستوضح هذه المقالة:







ما هو Docker Bind Mounts؟

يسمح Docker Bind mount للمستخدمين بتعيين ملف / دليل معين على الجهاز المضيف إلى ملف / دليل داخل الحاوية. بهذه الطريقة ، يمكن للمستخدمين مشاركة البيانات بين المضيف والحاوية ، وكذلك الاحتفاظ بالبيانات حتى بعد إيقاف الحاوية أو حذفها. تظهر أي تغييرات يتم إجراؤها على الملفات في الدليل أو الملف المشترك من الحاوية والجهاز المضيف.



كيف يعمل ربط جبل في Docker؟

دعونا نأخذ مثالاً ونرى كيف يعمل bind-mount في Docker. لنفترض أن لدينا دليلًا فارغًا ' امتحان ' تقع في ' C: \ Docker 'على نظام محلي. الآن ، نريد الوصول إلى ' امتحان 'محتوى الدليل في الموقع' /برنامج 'من داخل حاوية معينة. في هذا المثال ، قم بتشغيل حاوية من صورة Docker الرسمية ، أي ' nginx 'واستخدام أداة الربط لتركيب دليل معين من الجهاز المضيف في الحاوية.



لفهم أفضل ، اتبع الخطوات المقدمة.





الخطوة 1: ربط دليل التحميل من الجهاز المضيف إلى الحاوية

أولاً ، استخدم ' docker run -d –name -v : 'الأمر وتشغيل حاوية. يربط دليل التحميل من الجهاز المضيف بالحاوية:



تشغيل عامل ميناء --اسم myCont -في ج: / عامل ميناء / امتحان: / تطبيق nginx: الأحدث


هنا:

    • ' 'الخيار لتنفيذ الحاوية في الخلفية.
    • ' -اسم 'لتحديد اسم الحاوية.
    • ' myCont 'هو اسم الحاوية لدينا.
    • ' -في 'يُنشئ خيار' وحدة تخزين في الحاوية تقوم بتعيين الدليل المصدر على الجهاز المضيف إلى الدليل الهدف في الحاوية.
    • ' ج: / عامل ميناء / اختبار 'هو مسار دليل المصدر (الجهاز المحلي).
    • ' /برنامج 'هو مسار الدليل (الحاوية) الهدف.
    • ' nginx: الأحدث 'هي أحدث صورة لـ Docker:



لقد أنشأ هذا الأمر حاوية وسمح لها بالوصول إلى الملفات من الجهاز المضيف وجعل إدارة استمرارية البيانات أسهل.

الخطوة 2: قم بإنشاء ملف في دليل المصدر على الجهاز المضيف

بعد ذلك ، انتقل إلى مسار دليل المصدر ، أي ' ج: / عامل ميناء / اختبار 'على الجهاز المضيف وأنشئ ملفًا نصيًا عاديًا فيه. على سبيل المثال ، قمنا بإنشاء ' تجريبي ' ملف:


الخطوة 3: الوصول إلى ملف الجهاز المضيف داخل الحاوية

الآن ، اكتب الأمر الموضح أدناه للوصول إلى محتوى الحاوية وتشغيل الأوامر بداخلها:

عامل ميناء إكسيك -هو - هي myCont سحق



عند القيام بذلك ، ستفتح حاوية الحاوية.

بعد ذلك ، قم بإدراج محتوى الحاوية باستخدام الأمر المقدم:

ls



في لقطة الشاشة أعلاه ، يمكن رؤية كل محتويات الحاوية. اختر الدليل المطلوب وانتقل إليه.

إعادة التوجيه إلى ' برنامج ' الدليل:

قرص مضغوط برنامج


ثم ، قم بإدراج ' برنامج 'محتوى الدليل للتحقق من توفر ملف الجهاز المحلي فيه:

ls



يمكن ملاحظة أن ' Demo.txt ”موجود داخل الحاوية ، ويمكننا الوصول إليه.

الخطوة 4: إنشاء ملف داخل الحاوية

بعد ذلك ، أنشئ ملفًا آخر داخل حاوية باستخدام ' يلمس ' يأمر:

يلمس new.txt



لقد أنشأنا ' new.txt ' ملف.

بعد ذلك ، تحقق من الملف الذي تم إنشاؤه حديثًا باستخدام الأمر المذكور أدناه:

ls



يمكن ملاحظة أن الملف ' new.txt 'تم إنشاؤه بنجاح داخل الحاوية.

الخطوة 5: التحقق من الملف على النظام المحلي

أخيرًا ، انتقل إلى مسار الجهاز المحلي وتحقق مما إذا كان ' new.txt ”متوفر أم لا:


كما ترى ، فإن ' new.txt ”متاح على الجهاز المحلي ، ويمكننا الوصول إليه. يشير هذا إلى أن التعديلات تنعكس على الجهاز المحلي أيضًا.

الخطوة 6: إزالة Docker Container

الآن ، قم بإزالة الحاوية عبر ' عامل ميناء جمهورية مقدونيا 'مع اسم الحاوية:

عامل ميناء جمهورية مقدونيا myCont



ال ' myCont 'تم حذف الحاوية بنجاح.

الخطوة 7: تأكد من استمرار البيانات على الجهاز المحلي

بعد حذف الحاوية ، تحقق مما إذا كانت البيانات لا تزال موجودة على الجهاز المحلي أم لا:


كما ترى ، استمرت التغييرات حتى بعد حذف حاوية الربط.

خاتمة

يستخدم Docker bind mount لتعيين دليل أو ملف من النظام المضيف في الحاوية. يقوم بإنشاء رابط بين الدليل أو الملف المحدد على المضيف ونظام ملفات الحاوية. يجعل من السهل والبسيط التعامل أو العمل مع الملفات المخزنة خارج الحاوية. ستنعكس أي تغييرات يتم إجراؤها على الملفات في الدليل أو الملف المشترك في كل من المضيف والحاوية. أوضحت هذه المقالة حول Docker bind mount وعملها في Docker.