إذا كنت بحاجة إلى نظام أساسي شامل ومفتوح المصدر للحاويات لتحقيق الاستقلال بين التطبيقات والبنية التحتية ، فإن Docker هو الرهان الأكثر أمانًا. إذا سنحت لك الفرصة لاستخدامه ، فأنت تعلم بالفعل مدى قدرته وسهولة استخدامه
يجدها عدد كبير من الشركات السحابية وشركات تكنولوجيا المعلومات مفيدة للغاية ، وتستحق شعبيتها بالتأكيد.
ومع ذلك ، هذا لا يجعلها مثالية. يمكن رؤية الدليل في القيود التي تأتي مع إزالة الصور والمجلدات والحاويات والشبكات. على الرغم من توفر هذه الأوامر ، إلا أنها ليست شاملة بالقدر الذي يريده المستخدمون.
هنا سترى المشاكل الرئيسية التي يواجهها المستخدمون ، بالإضافة إلى الحلول لها. ستتعلم كيفية إزالة الصور والحاويات بطريقة سهلة.
المشكلة
توفر تقنية الحاويات طريقة لتصور أنظمة التشغيل. يسمح بتعبئة التطبيق بكل ما يلزم لتشغيله ، مما يسمح له بالعمل بشكل مستقل عن نظام التشغيل.
صور الحاوية عبارة عن حزم تطبيقات مستقلة قابلة للتنفيذ تتضمن كل ما هو مطلوب حتى يعمل التطبيق بشكل صحيح. يتم تضمين وقت التشغيل ، والتعليمات البرمجية ، والتكوينات ، وأدوات النظام والمكتبات في كل صورة.
أثناء استخدام Docker ، تتراكم هذه الصور. بمرور الوقت ، يتراكم عدد كبير من الصور وأحجام البيانات والحاويات غير المستخدمة ، مما يؤدي إلى تكوين بيئة Docker مزدحمة. عند حدوث ذلك ، من الضروري تحديث البيئة حتى يعمل النظام الأساسي كما ينبغي.
هناك العديد من الأوامر التي يمكن أن تحقق ذلك ، لذا دعنا نلقي نظرة على الطرق الرئيسية للتخلص من الفوضى في بيئة Docker.
إزالة صور عامل ميناء
قبل أن تتمكن من إزالة الصور غير الضرورية ، تحتاج إلى تمييزها عن الصور المفيدة. يمكن القيام بذلك بسهولة عن طريق سرد جميع الصور التي يحتوي عليها نظامك باستخدام أمر إدارة الصور.
هذا هو الشكل الذي يبدو عليه:
$ docker image # سرد أحدث الصور التي تم إنشاؤها
أو
$ docker image -a # سرد جميع الصور
باستخدام الأمر الثاني ، سترى جميع صور عامل الإرساء. كل ما عليك فعله هو العثور على ما يسمى "الصور المتدلية". هذه كلها صور Docker التي لا تحتوي على علامة. بدون العلامة ، ليس هناك اتصال بالصور التي تم وضع علامة عليها ، مما يعني أنها لم تعد مفيدة بعد الآن.
يمكنك حذف صورة واحدة أو أكثر باستخدام معرف الصورة. للقيام بذلك ، استخدم أحد هذه الأوامر:
$ docker rmi d65c4d6a3580 # إزالة صورة واحدة
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc # إزالة صور متعددة
الحل الأكثر ملاءمة هو استخدام علامة الفلتر -f لسرد جميع الصور المتدلية.
لحذف هذه الصور وتنظيف مساحة القرص ، استخدم أحد الأوامر التالية:
docker image prune #interactively إزالة الصور المتدلية
أو
$ docker rmi $ (صور عامل الإرساء -q -f المتدلية = صحيح)
يمكنك إزالة جميع صور Docker بطريقة مماثلة. قم بإدراجها باستخدام الأمر $ docker images –a ثم قم بإزالتها باستخدام ما يلي:
$ (docker rmi $ (docker images -a -q)
خيار آخر هو حذف الصور التي تتبع نمطًا معينًا. لسردهم ، استخدم الأمر التالي:
صور docker $ -a | grep "نمط"
ثم قم بإزالتها باستخدام:
صور docker $ -a | grep "نمط" | awk '{print $ 3}' | xargs عامل ميناء rmi
إزالة الحاويات
شيء آخر قد ترغب في القيام به بعد العمل مع Docker لفترة معينة من الوقت هو حذف حاوية واحدة أو أكثر.
على غرار إزالة الصور ، تحتاج أولاً إلى سردها باستخدام الأمر التالي:
$ عامل ميناء ملاحظة
أو
$ عامل تشغيل ps -a
عندما تجد الحاويات التي تريد إزالتها ، استخدم المعرف الخاص بهم للقيام بذلك.
docker rm 0fd99ee0cb61 # إزالة حاوية واحدة
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 # إزالة عدة حاويات
في حالة تشغيل الحاوية التي تحاول إزالتها ، يمكنك استخدام الأمر التالي لإيقافها:
توقف عامل الإرساء $ 0fd99ee0cb61
عامل ميناء rm -f 0fd99ee0cb61
أخيرًا ، يمكنك إيقاف وإزالة جميع الحاويات غير الضرورية باستخدام الأوامر التالية:
$ docker stop $ (docker ps -a -q) #stop جميع الحاويات
# docker container prune #interactively إزالة جميع الحاويات المتوقفة
أو
$ docker rm $ (عامل ميناء ps -qa)
سيتيح لك ذلك تحرير مساحة قرص قيمة والبدء من جديد.
الكلمة الأخيرة
كما ترى ، فإن إزالة صور وحاويات Docker ليست شاقة كما قد تكون. الآن بعد أن عرفت هذه الأوامر ، يمكنك التحكم بشكل أكبر في تجربة Docker.
بالطبع ، هذه ليست سوى بعض الأوامر ، ويمكنك استخدام مجموعة متنوعة من التركيبات الأخرى. ومع ذلك ، ستؤدي هذه المهمة على ما يرام ، لذا لا تتردد في تجربتها.