إنشاء محركات أقراص Docker بسهولة على نظام Windows

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

هذه المقالة لها فيديو مرافق تم إنشاؤه بواسطة مساهم TechSnips ، مات ماكلريث. اشاهده اذا كنت تفضل ذلك أو إذا كنت تفضل النص ، متابعة القراءة!

تخزين البيانات الدائمة

إذا كنت ترغب في تخزين البيانات الدائمة للحاويات ، فهناك خياران. أولاً ، سأريك كيفية استخدام ربط المجلد. أنا حاليًا في مجلد يسمى data على C:\. إذا قمت بعرض محتويات هذا المجلد ، يمكنك رؤية أن لدي خمسة ملفات نصية.

Multiple text files in the C:\data folder

إذا كنت أرغب في جعل هذا المجلد متاحًا لحاوية ، يمكنني تركيبه عند بدء تشغيل الحاوية.

لنقم بتشغيل حاوية باستخدام docker run. سأقوم بتشغيل هذه الحاوية في وضع تفاعلي ، ثم سأحدد -V. هنا ، سأضع مسار مجلد البيانات الخاص بي ، ثم نقوم بتحديد فاصلة متبوعة بالمسار داخل الحاوية حيث أود تركيب هذا المجلد.

لهذا، سأحدد المجلد C:\shareddata. ثم سأحدد صورة image النواة لخادم Windows وأخيرًا، سأحدد أنني أريد تشغيل PowerShell بمجرد دخولي إلى الحاوية.

docker run -it -v c:\Data:c:\shareddata microsoft/windowsservercore powershell

الآن بعد أن دخلت الحاوية الجديدة، إذا قمت بقائمة بمحتويات C:\، يمكنك رؤية أن لدي مجلدًا shareddata.

Listing directory contents in a Docker container

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

Files on the host

I can also create files in this folder, which will be available to other containers or my container host. Let’s go ahead and run a new item to create a file called containertest.

Creating a file on the container host

يمكننا أن نرى أعلاه أن الملف الجديد قد تم إنشاؤه من داخل الحاوية. الآن سأخرج هذه الحاوية مما سيؤدي إلى إيقاف تشغيلها بتشغيل exit.

إذا قمت بتشغيل docker ps، يمكنك رؤية أنه لا توجد حاليًا حاويات قيد التشغيل.

Looking for running containers

تعداد البيانات في أحجام دوكر

الآن دعونا نقوم بقائمة بمحتويات مجلد البيانات مرة أخرى من مضيف الحاوية.

Listing files on the container host

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

من داخل الحاوية الجديدة، إذا قمت بقائمة بمحتويات C:\، يمكنك رؤية مرة أخرى أن لدي مجلدًا يسمى shareddata.

Listing files

إذا قمت بسرد محتويات ذلك المجلد ، فإنه حاليًا فارغ لأننا أنشأنا حجمًا فارغًا. الآن دعنا نقوم بتشغيل Ctrl-P-Q وهذا سيأخذنا خارج الحاوية الجارية ولكن ستظل تعمل في الخلفية.

من مضيف الحاوية ، قم بتشغيل docker volume ls. سيتم عرض الحجم الحالي على هذا مضيف الحاوية. لدي حجم يسمى hostdata ، تم إنشاؤه عندما ذكرته في أمر docker run.

Listing Docker volumes

إذا قمت بتشغيل docker ps ، يمكننا رؤية الحاوية الجارية الخاصة بنا.

Listing running containers

قم بإيقاف تشغيل تلك الحاوية باستخدام docker stop. الآن ليس لدينا حاويات تعمل.

Stopping a Docker container

قم بإزالة الحاويات المتوقفة بتشغيل docker rm. إذا قمت بإدراج الأحجام مرة أخرى ، يمكنك رؤية أن حجم hostdata ما زال متاحًا ويمكن توصيله بحاويات جديدة.

Listing Docker volumes

إنشاء أحجام Docker

طريقة أخرى لإنشاء حجم هي استخدام أمر docker volume create. إذا لم تحدد اسمًا ، ستعطيه دوكر اسمًا يتكون من قائمة طويلة من الأحرف العشوائية. وإلا ، يمكنك تحديد اسم هنا. سأطلق على هذا الحجم اسم logdata. الآن يمكننا رؤيته في القائمة عند إدراج الأحجام مرة أخرى.

Creating a new Docker volume

الآن ستقوم بتوصيل ذلك بحاوية جديدة. استخدم docker run مرة أخرى وللحجم حدد الحجم الذي تم إنشاؤه للتو وقم بتوصيله بـ c: \ logdata.

> docker run -it -v logdata:c:\logdata microsoft/windowsservercore powershell

من الداخل، اذهب إلى مجلد logdata وأنشئ بعض الملفات. في الوقت الحالي، لا توجد ملفات في هذا الدليل، لذا تفضل بإنشاء بعضها.

PS> New-Item -Name Log1.txt -ItemType File
PS> New-Item -Name Log2.txt -ItemType File

الآن لدي ملفين تسجيل في هذا الدليل.

Two files in C:\logdata

قم بتشغيل Ctrl-P-Q مرة أخرى للخروج من هذا الحاوية أثناء تشغيلها. بينما تعمل هذه الحاوية، قم بتشغيل حاوية جديدة مع نفس الحجم المرفق.

> docker run -it -v logdata:c:\logdata microsoft/windowsservercore powershell

إذا قمنا بتشغيل قائمة في مجلد logdata في الحاوية الجديدة، يمكننا رؤية الملفات التسجيلية الاثنين المشتركة.

Two log files being shared with containers

الآن، اخرج من هذه الحاوية. يجب أن تظل لديك حاوية واحدة تعمل وحاويتان مخرجتان.

Two containers still running

الآن قم بإيقاف جميع الحاويات التي تعمل، ثم قم بتشغيل docker rm لإزالة جميع الحاويات المخرجة.

Removing Docker containers

قم بإدراج الحجوم مرة أخرى. الحجم logdata ما زال متاحًا ليتم تركيبه على الحاويات المستقبلية.

Volume still available

إذا قمت بتشغيل docker volume، ستحصل على بعض المساعدة في استخدام الأمر.

Docker volume syntax

تفحص أحجام دوكر

لقد نظرنا بالفعل إلى create، لذا دعونا ننتقل إلى inspect. إذا قمت بتشغيل docker volume inspect ضد الحجم logdata، سيعيد الخصائص لهذا الحجم، بما في ذلك نقطة التركيب التي هي المسار الفعلي للحجم على مضيف الحاوية.

Inspecting Docker volumes

لنفتح هذا المجلد باستخدام Invoke-Item ونلقي نظرة. تحت مجلد logdata، هناك مجلد يسمى data. إذا قمنا بفتحه، يمكننا رؤية الملفات التي تم إنشاؤها من الحاوية سابقًا.

Files created earlier

حذف أحجام دوكر

لحذف حجم، يمكننا تشغيل docker volume rm، تتبعها باسم الحجم الذي تريد حذفه.

> docker volume rm logdata

الآن إذا قمت بسرد الأحجام، logdata لم يعد موجودًا.

Listing Docker volumes

وأخيرًا، يمكننا استخدام prune لإزالة جميع الأحجام المحلية غير المستخدمة. سيتم حذف جميع الأحجام التي لم يتم تثبيتها في حاوية قيد التشغيل أو توقفت.

Inspecting the prune parameter

تريد أن تكون حذرًا باستخدام هذا الأمر، لذلك هناك تحذير ورسالة توجيه للتأكد من أنك متأكد من رغبتك في القيام بذلك. إذا كتبت y وضغطت enter، سيظهر لي أي أحجام تم حذفها.

وإذا قمت بسرد أحجامي مرة أخرى يمكنك رؤية أنه تم حذفها جميعًا.

No Docker volumes exist

ملخص

في هذا المقال، يجب أن تكون قد حصلت على نظرة عامة جيدة على إدارة أحجام docker في نظام التشغيل windows. docker هو منصة حاويات رائعة. مع دعمه لنظام التشغيل windows ومهاراتك الجديدة في إدارة أحجام docker، ستكون لا تُقهَر!

Source:
https://adamtheautomator.com/create-docker-volume/