تنظيف Docker

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

قل مرحبًا systemللأمر ، وهو جزء من أوامر إدارة عامل الإرساء والذهول ببساطة. و systemيوفر قيادة معلومات من استخدام القرص على المعلومات على نطاق المنظومة، ليست باردة.

استخدام القرص باستخدام dfالأمر:

$ docker system df

إرجاع شيء مثل هذا ،

TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 35 6 8.332GB 7.364GB (88%) Containers 12 12 417.6MB 0B (0%) Local Volumes 67 2 2.828GB 2.828GB (100%) Build Cache 0B 0B

لاحظ أن Reclaimableهذا هو الحجم الذي يمكنك استعادته ، ويتم حسابه عن طريق طرح حجم الصور النشطة من الحجم الإجمالي للصور.

الأحداث في الوقت الحقيقي باستخدام eventsالأمر:

$ docker system events

تُرجع قائمة الأحداث في الوقت الفعلي من الخادم ، بناءً على أنواع كائنات Docker.

إخراج التنسيق

--format 'Type={{.Type}} Status={{.Status}} ID={{.ID}}'

أو ببساطة تنسيق الإخراج كـ JSON

$ docker system events --format '{{json .}}'

معلومات على مستوى النظام باستخدام infoالأمر:

أمر رائع آخر للحصول على جميع المعلومات المتعلقة بالنظام هو infoالأمر. ستندهش من رؤية مقدار المعلومات التي يمكنك الحصول عليها.

$ docker system info

إزالة البيانات غير المستخدمة باستخدام pruneالأمر:

الآن بعد أن أصبح لدينا كل المعلومات التي نحتاجها ، وقت التنظيف ، ولكن احذر من استخدام هذا الأمر في وضع النوم.

$ docker system prune WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue? [y/N]

علاوة على ذلك ، يمكننا إزالة ما نريده بالضبط ، باستخدام أي من الأوامر التالية ، وليمة أعينكم أيها السيدات والسادة.

$ docker system prune -a --volumes $ docker image prune $ docker container prune $ docker volume prune $ docker network prune

ستطلب جميع الأوامر المذكورة أعلاه التأكيد ، لذا اغسل وجهك بالماء البارد أو التقط لقطة من الإسبرسو قبل إصدار أي من هذه ؛).