كيفية إزالة صور Docker والحاويات والمجلدات
كيفية إزالة صور Docker والحاويات والمجلدات

دليل الخبراء لإدارة Docker وتنظيفه

في عالمنا اليوم، حيث أصبحت بنى الحوسبة السحابية الأصلية والخدمات المصغرة والحاويات المعيار الرئيسي للبنية التحتية للبرمجيات، يلعب استخدام Docker دورًا رئيسيًا في استقرار الخدمة وقابليتها للتوسع وسرعة نشرها. ولكن إلى جانب جميع المزايا التي يوفرها Docker لمسؤولي الخوادم ومهندسي DevOps، هناك دائمًا تحدٍّ رئيسي: تراكم الموارد غير المستخدمة بمرور الوقت.
0 الأسهم
0
0
0
0

إدارة احترافية للصور والحاويات والمجلدات لتحسين أداء خوادم Linux

عامل ميناء اليوم، أصبحت واحدة من الأدوات الأكثر استخدامًا على نطاق واسع في إدارة الخادم ونشر الخدمات والهندسة المعمارية الحديثة (Microservices / CI/CD / Cloud-native).
ولكن في كل الخادمعندما يتم استخدام Docker لفترة طويلة، فإنه يتراكم تدريجيًا كمية كبيرة من الصور والحاويات والمجلدات والشبكات غير الضرورية يمكن لهذا التراكم أن:

  • إملأ مساحة القرص الخاصة بالخادم.

  • تقليل سرعة خدمات السحب والنشر

  • زيادة وقت البناء

  • قد يؤدي ذلك إلى انخفاض الأداء وحتى توقف الخدمات.

في هذه المقالة، في النموذج متخصصة وفنية سنتعلم كيفية تكوين موارد Docker مثل آمن وهادف وسهل الاستخدام دعونا ننظف.

1. أهمية تنظيف Docker في بيئات الخادم

على الخادم، على عكس بيئة التطوير المحلية، كل غيغابايت من المساحة وكل عملية إدخال/إخراج مهمة.
الأشياء الثلاثة الرئيسية التي تسبب عادة انخفاض الأداء على الخوادم هي:

1) طبقات الصور غير المستخدمة

على سبيل المثال: الإصدارات القديمة، والإصدارات السابقة من الخدمات، وأنظمة CI/CD التي تبني صورة في كل دفعة.

2) الحاويات التي تم إزالتها من المدار

على الخوادم، عادةً ما تكون الحاويات المتوقفة متبقية من عمليات النشر الفاشلة أو عمليات التراجع.

3) المجلدات اليتيمة

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


2. تنظيف الخادم بالكامل باستخدامتقليم نظام Docker

يعد هذا الأمر أقوى أداة تنظيف عالية المستوى في Docker.

تنظيف الموارد غير المستخدمة:

تقليم نظام Docker

التنظيف العميق - مناسب للخوادم ذات مساحة القرص المشبعة

نظام Docker prune -a

العناصر المراد إزالتها:

  • صور غير مستخدمة

  • الحاويات المتوقفة

  • الشبكات غير المستخدمة

  • إنشاء ذاكرة التخزين المؤقت

نصائح أمنية للخوادم:

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

اقتراح احترافي:
أولاً، تحقق مما سيتم إزالته:

نظام Docker df

3. إدارة متخصصة لصور Docker على الخادم (صور Docker)

عرض جميع الصور:

صور Docker -a

إزالة الصور غير المستخدمة (المعلقة):

تقليم صورة Docker

حذف صورة محددة:

docker rmi IMAGE_ID

حذف جميع الصور غير المستخدمة على خادم CI/CD:

docker rmi $(docker images -f "dangling=true" -q)

حذف جميع الصور الموجودة على الخادم:

يتم استخدام هذا الأمر عادةً في حالات مثل إعادة تعيين الخادم أو إعادة بناء السجل بالكامل:

docker rmi $ (صور docker -a -q)

ملاحظة هامة للخوادم:

سيمنع Docker حدوث ذلك إذا تم حذف صورة تحتوي على حاوية قيد التشغيل.
لفرض الحذف:

docker rmi -f IMAGE_ID

يجب أن يكون هذا الأمر مع الحذر التام. للاستخدام.


4. إزالة الحاويات في بيئة الخادم

القائمة الكاملة للحاويات:

docker ps -a

حذف حاوية محددة:

docker rm CONTAINER_ID

إزالة الحاويات المتوقفة (المناسبة للإنتاج):

docker rm $(docker ps -a -f status=exited -q)

أوقف وأزل جميع الحاويات:

يتم استخدام هذا الأمر عادةً عند إعادة تعيين الخادم:

docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)

ملاحظة للخوادم:

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


5. حذف المجلدات - المصدر الأكثر أهمية لاستهلاك مساحة الخادم

تعتبر المجلدات الموجودة على الخوادم أكثر خطورة من الصور لأن:

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

قائمة المجلدات:

وحدة تخزين Docker ls

تحديد مجلدات الأيتام:

وحدة تخزين Docker ls -f dangling=true

حذف المجلدات غير المملوكة:

تقليم حجم Docker

حذف مجلد معين:

وحدة تخزين Docker rm VOLUME_NAME

حذف مجلد يحتوي على حاوية:

docker rm -v CONTAINER_NAME

نقطة مهمة جداً:

على الخوادم عادة:

  • قواعد البيانات

  • أشرطة مطاطية

  • الملفات الثابتة

يتم تخزينها في مجلدات.

لا تقم أبدًا بالتقليم دون التأكد من الاستخدام المحدث.


6. تنظيف متقدم للخوادم عالية الاستخدام (CI/CD، GitLab Runner، Jenkins)

إذا كان الخادم الخاص بك يقوم بالعديد من عمليات البناء:

مسح ذاكرة التخزين المؤقت للبناء:

تقليم منشئ Docker

أو التنظيف الكامل:

منشئ Docker Prune -a

مسح جميع موارد BuildKit:

docker buildx prune

7. مقارنة الخبراء لأوامر تنظيف Docker

طلبمستوى التنظيفمناسب للخادممخاطرة
docker-rmالحاوياتواسطةتحت
docker rmiصورواسطةواسطة
وحدة تخزين Docker rmالمجلداتتحتعالية جدًا
تقليم صورة Dockerصور غير مستخدمةقمةقليل
تقليم نظام Dockerجميع الموارد غير المستخدمةقمةواسطة
نظام Docker prune -aحذف عميقفي حالات الطوارئ فقطقمة
تقليم منشئ Dockerبناء ذاكرة التخزين المؤقتقمةتحت

8. أفضل استراتيجية لتنظيف خادم Docker (توصية DevOps)

🔹كل يوم:

تقليم حاوية Docker

🔹كل اسبوع:

تقليم صورة Docker

🔹 كل شهر (فقط في حالة وجود نقص في مساحة القرص):

نظام Docker prune -a

🔹كل 3 أشهر:

النسخ الاحتياطي ← التحقق من المجلدات ← حذف المجلدات اليتيمة

تُستخدم هذه الاستراتيجية في معظم مراكز البيانات وهي صديقة للإنتاج تمامًا.


ملخص الخبراء

إن تنظيف Docker على الخادم ليس مجرد عملية بسيطة؛
أكثر مثل إدارة الموارد وأمن البيانات إنها.

عن طريق تنفيذ الأوامر التالية:

  • تمت تحرير مساحة الخادم.

  • زيادة سرعة النشر

  • يتم تقليل ضغط الإدخال/الإخراج على القرص

  • يمنع تعطل الخدمات بسبب امتلاء القرص

تُعد هذه المقالة دليلاً كاملاً لإدارة Docker بشكل احترافي في بيئات الخادم.

 

[المجموع: 0   متوسط: 0/5]
اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

قد يعجبك أيضاً