مقدمة
دوكر يجعل من السهل لف تطبيقاتك وخدماتك في حاويات حتى تتمكن من تشغيلها في أي مكان. ومع ذلك، أثناء العمل مع دوكر، من السهل أيضًا تراكم عدد كبير من الصور والحاويات وحجوم البيانات غير المستخدمة التي تشوش على الناتج وتستهلك مساحة القرص.
يوفر لك دوكر جميع الأدوات التي تحتاجها لتنظيف نظامك من سطر الأوامر. يوفر هذا الدليل بشكل ورقة مرجعية سريعة للأوامر التي تكون مفيدة لتحرير مساحة القرص والحفاظ على تنظيم نظامك من خلال إزالة الصور والحاويات والأحجام غير المستخدمة في دوكر.
كيفية استخدام هذا الدليل:
- هذا الدليل بتنسيق ورقة الغش مع مقاطع أمر سطر الأوامر المستقلة.
- انتقل إلى أي قسم يكون ذا صلة بالمهمة التي تحاول إتمامها.
ملاحظة: يتوفر بناء الجملة التبديلي للأوامر، الأمر $(الأمر)
، المستخدم في الأوامر في العديد من القواقع الشهيرة، مثل باش، زدش، و ويندوز باورشيل.
إذا كنت ترغب في طريقة واحدة نقرة لنشر تطبيق Docker على خادم حي، فلتحقق من منصة تطبيقات DigitalOcean.
مسح جميع الصور والحاويات والحجز والشبكات غير المستخدمة أو المعوية
توفر Docker أمرًا واحدًا يمكن أن ينظف أي موارد – الصور والحاويات والأوعية والشبكات – التي هي معوية (غير معروفة أو غير مرتبطة بحاوية):
لإزالة أيضًا أي حاويات متوقفة وجميع الصور غير المستخدمة (ليس فقط الصور المعوية) ، أضف علامة -a
إلى الأمر:
إزالة الصور Docker
إزالة صورة معينة أو أكثر
لاستخدام الأمر docker images
مع علامة التبويب -a
لتحديد معرّف الصور التي ترغب في إزالتها. سيظهر لك كل صورة، بما في ذلك طبقات الصورة المتوسطة. عندما تحدد الصور التي تريد حذفها، يمكنك تمرير معرّفها أو علامة التجزئة لـ docker rmi
:
قائمة:
إزالة:
ملاحظة: علامة التبويب -a
أو --all
في الأمر docker images
يعرض جميع صور الدوكر، بما في ذلك الطبقات المتوسطة التي لا تشير إليها أي علامات تجزئة. بشكل افتراضي، يظهر docker images
فقط الصور التي لها على الأقل علامة تجزئة واحدة. ومع ذلك، قد يكون هناك بعض الصور بدون أي علامات تجزئة تستهلك مساحة القرص على النظام. يمكن أن تكون علامة التبويب -a
مفيدة في تحديد الصور التي يمكن تنظيفها لتوفير مساحة القرص. عند استخدامها مع الأمر docker rmi
، يمكن استخدام علامة التبويب -f
أو --force
لإزالة الصور بدون علامات تجزئة.
إزالة صور Docker المعوقة
تتكون صور Docker من طبقات متعددة. الصور المعوقة هي الطبقات التي ليس لها علاقة بأي صور مسمّاة. لا تخدم غرضًا وتستهلك مساحة القرص. يمكن تحديدها بإضافة علامة التصفية -f
بقيمة dangling=true
إلى الأمر docker images
. عندما تكون متأكدًا من رغبتك في حذفها، يمكنك استخدام الأمر docker image prune
:
ملاحظة: إذا قمت بإنشاء صورة دون وضع علامة عليها، ستظهر الصورة في قائمة الصور المعلقة لأنها ليست لها ارتباط بصورة موسومة. يمكنك تجنب هذا الوضع عن طريق توفير علامة عند إنشاء الصورة، ويمكنك بعد ذلك وضع علامة على الصورة بشكل رجعي باستخدام الأمر docker tag
.
القائمة:
إزالة:
إزالة الصور وفقًا لنمط
يمكنك العثور على جميع الصور التي تتطابق مع نمط ما باستخدام مزيج من docker images
و grep
. بمجرد أن تكون راضيًا، يمكنك حذفها باستخدام awk
لتمرير المعرفات إلى docker rmi
. يرجى ملاحظة أن هذه الأدوات ليست مزودة من قبل Docker وقد لا تكون متاحة على جميع الأنظمة:
القائمة:
إزالة:
إزالة جميع الصور
يمكن عرض جميع صور Docker على النظام عن طريق إضافة -a
إلى أمر docker images
. بمجرد التأكد من رغبتك في حذفها جميعًا، يمكنك إضافة علامة -q
لتمرير معرف الصورة إلى docker rmi
:
القائمة:
إزالة:
إزالة الحاويات
إزالة حاويات محددة أو أكثر
استخدم أمر docker ps
مع العلامة -a
لتحديد اسم أو معرف الحاويات التي ترغب في إزالتها:
القائمة:
إزالة:
إزالة حاوية عند الخروج
إذا كنت تعرف عند إنشاء حاوية أنك لن ترغب في الاحتفاظ بها بعد الانتهاء، يمكنك تشغيل docker run --rm
لحذفها تلقائيًا عند الخروج:
تشغيل وحذف:
إزالة جميع الحاويات التي انتهت
يمكنك تحديد مواقع الحاويات باستخدام docker ps -a
وتصفيتها حسب حالتها: created
، restarting
، running
، paused
، أو exited
. لمراجعة قائمة الحاويات exited
، استخدم العلم -f
لتصفية بناءً على الحالة. عند التحقق من رغبتك في إزالة تلك الحاويات، استخدم -q
لتمرير معرفات إلى أمر docker rm
:
القائمة:
إزالة:
إزالة الحاويات باستخدام أكثر من عامل تصفية
يمكن دمج مرشحات Docker عن طريق تكرار علامة المرشح مع قيمة إضافية. يؤدي هذا إلى قائمة من الحاويات التي تفي بأي من الشروط. على سبيل المثال، إذا كنت ترغب في حذف جميع الحاويات المعلمة بـ created
(حالة يمكن أن تنتج عند تشغيل حاوية بأمر غير صالح) أو exited
، يمكنك استخدام مرشحين:
القائمة:
إزالة:
إزالة الحاويات وفقًا لنمط
يمكنك العثور على جميع الحاويات التي تطابق نمطًا باستخدام مزيج من docker ps
و grep
. عندما تكون راضيًا بأن لديك القائمة التي تريد حذفها، يمكنك استخدام awk
و xargs
لتوريد الهوية إلى docker rm
. لاحظ أن هذه الأدوات لا تُقدم من قبل Docker وقد لا تكون متوفرة على جميع الأنظمة بالضرورة:
القائمة:
إزالة:
توقف وأزل جميع الحاويات
يمكنك مراجعة الحاويات على نظامك باستخدام docker ps
. إضافة العلم -a
سيعرض جميع الحاويات. عندما تكون متأكدًا من رغبتك في حذفها، يمكنك إضافة العلم -q
لتزويد معرفات الحاويات لأوامر docker stop
و docker rm
:
قائمة:
حذف:
إزالة الأحجام
أزل أو أكثر من الأحجام المحددة
استخدم الأمر docker volume ls
لتحديد اسم الحجم أو الأحجام التي ترغب في حذفها. ثم يمكنك إزالة أحد أو أكثر من الأحجام باستخدام أمر docker volume rm
:
قائمة:
حذف:
إزالة الأحجام المتدلية
نقطة الأحجام هي أن تكون مستقلة عن الحاويات، عند إزالة حاوية، لا يتم إزالة الحجم تلقائيًا في نفس الوقت. عندما يكون الحجم موجودًا ولا يكون متصلاً بأي حاويات، يُسمى بـ حجم متدلي. للعثور عليها وتأكيد رغبتك في إزالتها، يمكنك استخدام الأمر docker volume ls
مع مرشح لتقييد النتائج إلى الأحجام المتدلية. عندما تكون راضيًا عن القائمة، يمكنك إزالتها جميعًا باستخدام docker volume prune
:
القائمة:
الإزالة:
إزالة حاوية وحجمها
إذا قمت بإنشاء حجم غير مسمى، يمكن حذفه في نفس الوقت مع الحاوية باستخدام العلامة -v
. لاحظ أن هذا يعمل فقط مع الأحجام غير المسماة. عندما يتم إزالة الحاوية بنجاح، يتم عرض هويتها. لاحظ أنه لا يتم الإشارة إلى إزالة الحجم. إذا كان غير مسمى، يتم إزالته بصمت من النظام. إذا كان مسمى، يبقى موجودًا بصمت.
الإزالة:
الختام
هذا الدليل يغطي بعض الأوامر الشائعة المستخدمة لإزالة الصور والحاويات والأحجام مع Docker. هناك العديد من التركيبات والرائحة التي يمكن استخدامها مع كل واحدة. للحصول على دليل شامل حول ما هو متاح، انظر إلى توثيق Docker لـdocker system prune
، docker rmi
، docker rm
، و docker volume rm
. إذا كانت هناك مهام تنظيف شائعة ترغب في رؤيتها في الدليل، يرجى الطلب أو تقديم الاقتراحات في التعليقات.
للحصول على نظرة مفصلة على مكونات الحاوية Docker المختلفة، تفقد البيئة البيولوجية لـ Docker: مقدمة في المكونات الشائعة.
Source:
https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes