حذف کانتینر داکر، ایمیج و والیوم
خوش اومدید به مقاله آموزشی حذف کانتینر داکر، ایمیج و والیوم
داکر بسته بندی اپلیکیشن و خدمات خود را در کانتینرها آسان می کند تا بتوانید آنها را در هر مکانی اجرا کنید. با این حال، همانطور که با داکر کار می کنید، جمع آوری تعداد زیادی از ایمیج های استفاده نشده، کانتینرها و والیوم هایی که خروجی را به هم می ریزد و فضای دیسک را مصرف می کند نیز آسان است.
داکر تمام ابزارهایی را که برای پاکسازی سیستم خود از خط فرمان نیاز دارید در اختیار شما قرار می دهد. مقاله آموزشی حذف کانتینر داکر، ایمیج و والیوم با ارائه برگه تقلب کمکی سریع به دستوراتی که برای آزاد کردن فضای دیسک و سازماندهی سیستم شما با حذف ایمیج ها، کانتینر ها و والیوم های استفاده نشده داکر مفید هستند.
استفاده های مفید از داکر: نصب وردپرس با داکر
راهنمای مقاله
Toggleپاکسازی محیط داکر
داکر یک دستور واحد ارائه میکند که هر منبعی مانند ایمیج ها، کانتینرها، والیوم ها و شبکهها – را که بلا استفاده هستند (بدون برچسب یا مرتبط با یک کانتینر) پاک میکند:
docker system prune
برای حذف کانتینرهای متوقف شده و تمام ایمیج های استفاده نشده، فلگ (Flag) a- را به دستور اضافه بالا کنید:
docker system prune -a
حذف ایمیج های داکری
از دستور docker images با فمگ a- برای پیدا کردن شناسه ایمیج هایی که می خواهید حذف کنید استفاده کنید. این به شما هر ایمیج، از جمله لایه های میانی ایمیج را نشان می دهد. وقتی ایمیجی را که می خواهید حذف کنید پیدا کردید، می توانید شناسه یا برچسب آنها را به docker rmi ارسال کنید. برای لیست کردن ایمیج ها:
docker images -a
برای جذف یک یا چند ایمیج:
docker rmi Image1 Image2
نکته
فلگ a- یا all– در دستور docker images همه ایمیج داکر را نشان میدهد، از جمله ایمیج های میانی که توسط هیچ برچسبی (Tag) ارجاع نمیشوند. بهطور پیشفرض، ایمیج های داکر تنها ایمیج هایی را با حداقل یک برچسب نشان میدهند. با این حال، ممکن است برخی از ایمیج ها بدون هیچ برچسبی وجود داشته باشند که هنوز فضای دیسک را در سیستم اشغال می کنند. فلگ a- می تواند در شناسایی ایمیج هایی که می توانند برای صرفه جویی در فضای دیسک هرس شوند مفید باشد. هنگامی که دستور docker rmi استفاده می شود، فلگ f- یا force– همچنین می تواند برای حذف ایمیج های بدون برچسب استفاده شود. اطلاعات بیشتر راجب تگ گذاری ایمیج ها.
حذف ایمیج با الگوی خاص
با استفاده از ترکیبی از دستورات docker images و grep می توانید تمام ایمیج هایی را که با یک الگو مطابقت دارند پیدا کنید. هنگامی که الگوی مدنظر خودتون رو پیدا کردید، می توانید با استفاده از awk آنها را حذف کنید تا شناسه ها را به docker rmi منتقل کنید. توجه داشته باشید که این ابزارها توسط داکر ارائه نمی شوند و لزوماً در همه سیستم ها در دسترس نیستند. لیست کردن ایمیج ها با الگوری مدنظر:
docker images -a | grep "pattern"
حذف ایمیج ها با الگوری مدنظر:
docker images -a | grep "pattern" | awk '{print $1":"$2}' | xargs docker rmi
حذف همه ایمیج های داکر
تمام ایمیج های داکر در یک سیستم را می توان با افزودن a- به دستور docker images لیست کرد. هنگامی که مطمئن شدید که می خواهید همه آنها را حذف کنید، می توانید فلگ q- را اضافه کنید تا شناسه ایمیج را به docker rmi ارسال کنید:
docker images -a
دستور مناسب جهت حذف ایمیج
docker rmi $(docker images -a -q)
حذف کانتینر داکر
از دستور docker ps با فلگ a- برای پیدا کردن نام یا شناسه کانتینرهایی که می خواهید حذف کنید استفاده کنید:
docker ps -a
برای حذف کانتینر داکر:
docker rm ID_or_Name ID_or_Name
حذف کانتینر در وضعیت exiting
اگر میدانید که زمانی که یک کانتینر ایجاد میکنید، نمیخواهید پس از اتمام کار، آن را نگه دارید، میتوانید docker run –rm را اجرا کنید تا بهطور خودکار هنگام خروج آن را حذف کنید:
docker run --rm image_name
همچنین میتوانید کانتینرها را با استفاده از docker ps -a پیدا کنید و آنها را بر اساس وضعیتشان فیلتر کنید، این وضعیت ها می تونه شامل: ایجاد، راهاندازی مجدد، در حال اجرا، توقف موقت یا خروج باشد. برای بررسی لیست کانتینرهای خارج شده، از فلگ f- برای فیلتر بر اساس وضعیت استفاده کنید. وقتی تأیید کردید که میخواهید آن کانتینرها را حذف کنید، از q- برای ارسال شناسهها به دستور docker rm استفاده کنید:
docker ps -a -f status=exited docker rm $(docker ps -a -f status=exited -q)
حدف کانتینر و والیوم
اگر یک والیوم بدون نام ایجاد کنید، می توان آن را همزمان با کانتینر با فلگ v- حذف کرد. توجه داشته باشید که این فقط با حجم های بدون نام کار می کند. هنگامی که کانتینر با موفقیت حذف شد، شناسه آن نمایش داده می شود. توجه داشته باشید که هیچ اشاره ای به حذف والیوم نشده است. اگر بدون نام باشد، بی سر و صدا از سیستم حذف می شود. اگر نام داشته باشد، بی سر و صدا حضور دارد. برای حذف می توانید از دستور:
docker rm -v container_name
برای حذف یک یا چند والیوم می توانید از دستور زیر کمک بگیرید:
docker volume ls docker volume rm volumeID-NAME
صحبت پایانی
در مقاله آموزشی حذف کانتینر داکر، ایمیج و والیوم برخی از دستورات رایج مورد استفاده برای حذف ایمیج ها، کانتینرها و وایوم ها با داکر مورد بررسی قرار گرفت. بسیاری از ترکیبات و فلگ های دیگر وجود دارد که می توان از هر کدام از آنها استفاده کرد. برای یک راهنمای جامع در مورد آنچه در دسترس است، به مستندات Docker برای سیستم docker prune، docker rmi، docker rm و docker volume rm مراجعه کنید. اگر کارهای پاکسازی معمولی وجود دارد که میخواهید در راهنما ببینید، لطفاً در نظرات بپرسید یا پیشنهاداتی ارائه دهید.
با ارسال نظرتون راجب این مقاله در بهبود هر چه بهتر مجموعه ما رو همراهی کنید.