مقدمة
يُسهّل Docker تجميع تطبيقاتك وخدماتك في حاويات لتشغيلها في أي مكان. مع ذلك، أثناء استخدامك لـ Docker، من السهل أيضًا تراكم عدد كبير من الصور والحاويات ووحدات تخزين البيانات غير المستخدمة، مما يُسبب فوضى في المخرجات ويستهلك مساحة القرص. يُوفر لك Docker جميع الأدوات اللازمة لتنظيف نظامك من سطر الأوامر. يُوفر هذا الدليل المُختصر مرجعًا سريعًا للأوامر المفيدة لتحرير مساحة القرص وتنظيم نظامك عن طريق إزالة صور Docker والحاويات ووحدات التخزين غير المستخدمة.
كيفية استخدام هذا الدليل:
- يأتي هذا الدليل في شكل ورقة غش تحتوي على مقتطفات من سطر الأوامر المستقلة.
- انتقل إلى كل قسم يتعلق بالمهمة التي تريد إكمالها.
حذف جميع الصور والحاويات والمجلدات
يوفر Docker أمرًا واحدًا لتنظيف أي مورد مثل الصور والحاويات والمجلدات والشبكات:
docker system pruneلإزالة الحاويات المتوقفة وجميع الصور غير المستخدمة، أضف -a إلى الأمر:
docker system prune -aحذف صور Docker
استخدم أمر صور docker مع -a للعثور على مُعرِّف الصور التي تُريد إزالتها. سيُظهر لك هذا كل صورة، بما في ذلك الطبقات الوسطى منها. بعد العثور على الصور التي تُريد إزالتها، يُمكنك تمرير مُعرِّفها أو وسمها إلى docker rmi:
قائمة:
docker images -aإزالة:
docker rmi Image Imageإزالة الصور المعلقة
تتكون صور Docker من طبقات متعددة. الصور المتدلية هي طبقات لا ترتبط بأي صور مُعلَّمة. لم تعد هذه الصور ذات غرض، وتستهلك مساحة القرص. يمكن العثور عليها بإضافة عامل التصفية -f بقيمة dangling=true إلى أمر docker images. عند التأكد من رغبتك في إزالتها، يمكنك استخدام أمر docker image prune:
قائمة:
docker images -f dangling=trueإزالة:
docker image pruneحذف الصور بناءً على نمط
باستخدام مزيج من صور Docker وgrep، يمكنك العثور على جميع الصور التي تُطابق نمطًا مُعينًا. بعد التأكد من ذلك، يمكنك إزالتها باستخدام AWK لتمرير المُعرفات إلى Docker RMI. يُرجى العلم أن هذه الأدوات غير مُقدمة من Docker وليست بالضرورة مُتاحة على جميع الأنظمة.
قائمة:
docker images -a | grep "pattern"إزالة:
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmiحذف جميع الصور.
يمكن إضافة جميع صور Docker على النظام عن طريق الإضافة -أ أدرج جميع الصور باستخدام أمر صور Docker. بمجرد التأكد من رغبتك في إزالتها جميعًا، يمكنك -q أضف لتمرير معرف الصورة إلى docker جمهورية أيرلندا يرسل:
قائمة:
docker images -aإزالة:
docker rmi $(docker images -a -q)إزالة (إزالة القالب):
استخدم أمر docker ps مع -a للعثور على اسم أو معرف الحاويات التي تريد إزالتها:
قائمة:
docker ps -aإزالة:
docker rm ID_or_Name ID_or_Nameإزالة كافة تنسيقات الإخراج
يمكنك استخدام الحاويات مع docker ps -a ابحث عنها وفلترها حسب حالتها: مُنشأة، مُعاد تشغيلها، قيد التشغيل، مُتوقفة مؤقتًا، أو مُغلقة. لعرض قائمة الحاويات المُغلقة، استخدم -f للفلترة حسب الحالة. بعد تأكيد رغبتك في إزالة هذه الحاويات، استخدم -q لتمرير المُعرفات إلى أمر docker rm:
قائمة:
docker ps -a -f status=exitedإزالة:
docker rm $(docker ps -a -f status=exited -q)إزالة القالب باستخدام أكثر من مرشح واحد
يمكن دمج مرشحات Docker بتكرار المرشح بقيمة إضافية. ينتج عن ذلك قائمة بالحاويات التي تستوفي كل شرط من هذه الشروط. على سبيل المثال، إذا كنت ترغب في إزالة جميع الحاويات التي وُضع عليها علامة "مُنشأة" (وهي حالة تحدث عند تشغيل حاوية بأمر غير صالح) أو "مُغلقة"، يمكنك استخدام مرشحين:
قائمة:
docker ps -a -f status=exited -f status=createdإزالة:
docker rm $(docker ps -a -f status=exited -f status=created -q)قطع القالب وفقا للنمط.
يمكنك العثور على جميع الحاويات التي تُطابق نمطًا مُعينًا باستخدام مزيج من docker ps وgrep. بعد التأكد من القائمة التي تُريد إزالتها، يمكنك استخدام awk وxargs لتوفير مُعرّف docker rm. يُرجى العلم أن هذه الأدوات غير مُقدمة من Docker وليست مُتاحة بالضرورة على جميع الأنظمة.
قائمة:
docker ps -a | grep "pattern”إزالة:
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rmإيقاف وإزالة كافة القوالب.
يمكنك التحقق من الحاويات على نظامك باستخدام الأمر docker ps. إضافة -a ستظهر جميع الحاويات. بعد التأكد من رغبتك في إزالتها، يمكنك إضافة -q إلى أمري docker stop وdocker rm لتوفير المعرفات:
قائمة:
docker ps -aإزالة:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)حذف المجلدات
حذف مجلد واحد أو أكثر محدد – Docker 1.9 وما فوق
بما أن وحدات التخزين مصممة لتكون مستقلة عن الحاويات، فعند إزالة قالب، لا يُحذف أي وحدة تخزين تلقائيًا في الوقت نفسه. عندما تكون وحدة التخزين موجودة ولم تعد متصلة بأي حاوية، تُسمى وحدة تخزين معلقة. لتحديد موقعها وتأكيد رغبتك في حذفها، يمكنك استخدام أمر docker volume ls مع مُرشِّح لتحديد النتائج على وحدات التخزين المعلقة. بمجرد اكتمال القائمة، يمكنك حذفها جميعًا باستخدام docker volume prune:
قائمة:
docker volume ls -f dangling=trueإزالة:
docker volume pruneخذ قالبًا وحجمه.
إذا أنشأتَ وحدة تخزين غير مُسمّاة، يُمكن إزالتها في نفس وقت إزالة الحاوية باستخدام -v. يُرجى العلم أن هذا يعمل فقط مع وحدات التخزين غير المُسمّاة. عند إزالة وحدة التخزين بنجاح، يُعرض مُعرّفها. يُرجى العلم أنه لا يوجد أي ذكر لوحدة التخزين التي تتم إزالتها. إذا كانت غير مُسمّاة، فسيتم إزالتها تلقائيًا من النظام. إذا كان لها اسم، فستكون موجودة تلقائيًا.
إزالة:
docker rm -v container_nameنتيجة
يغطي هذا الدليل بعض الأوامر الشائعة المستخدمة لحذف الصور والحاويات والمجلدات في Docker. هناك العديد من التركيبات والعلامات الأخرى التي يمكن استخدامها مع كل منها. للاطلاع على دليل شامل لما هو متاح، راجع وثائق Docker لحذف النظام. docker، docker rmi، docker-rm و وحدة تخزين Docker rm انظر. إذا كانت لديك أي مهام تنظيف شائعة ترغب في رؤيتها في الدليل، يُرجى السؤال في التعليقات أو تقديم اقتراحات.









