مدیریت حرفهای تصاویر، کانتینرها و ولومها برای بهینهسازی عملکرد سرورهای لینوکسی
Docker امروز یکی از پرکاربردترین ابزارها در مدیریت سرورها، دیپلوی سرویسها و معماریهای مدرن (Microservices / CI/CD / Cloud-native) است.
اما روی هر Serverی که داکر برای مدت طولانی استفاده شود، بهتدریج حجم زیادی از Images، Containers، Volumes و Networks غیرضروری باقی میمانند. این انباشت میتواند:
فضای دیسک سرور را پر کند
سرعت Pull و Deploy سرویسها را کاهش دهد
زمان Build را افزایش دهد
باعث کاهش Performance و حتی Down شدن سرویسها شود
در این مقاله به شکل تخصصی و فنی یاد میگیریم چگونه منابع Docker را بهصورت ایمن، هدفمند و Server-Friendly پاکسازی کنیم.
۱. اهمیت پاکسازی Docker در محیطهای سرور
در یک سرور، بر خلاف محیط لوکال توسعه، هر گیگابایت فضا و هر عملیات I/O اهمیت دارد.
سه مورد اصلی که معمولاً در سرورها باعث کاهش عملکرد میشوند عبارتاند از:
۱) لایههای بلااستفاده تصاویر (Image Layers)
مثال: build های قدیمی، نسخههای قبلی سرویسها، سیستمهای CI/CD که هر Push یک Image میسازند.
۲) کانتینرهای خارجشده از مدار
در سرورها کانتینرهای متوقفشده معمولاً از Deployهای ناموفق یا Rollbackها باقی ماندهاند.
۳) ولومهایی که orphan شدهاند
اگر سرویس حذف شود اما Volume باقی بماند، اطلاعات قدیمی میتواند بهصورت ناخواسته فضای Disk سرور را مصرف کند.
۲. پاکسازی کلی سرور باdocker system prune
این فرمان قویترین ابزار پاکسازی سطح بالا در داکر است.
پاکسازی منابع بلااستفاده:
پاکسازی عمیق — مناسب سرورهایی که فضای دیسک اشباع شده است
مواردی که حذف میشود:
تصاویر بدون استفاده (Unused Images)
کانتینرهای متوقفشده
شبکههای بدون استفاده
Build Cache
نکته امنیتی برای سرورها:
هرگز در محیط Production بدون بررسی از -a استفاده نکنید،
زیرا ممکن است تصویری که فعلاً در حال استفاده نیست، اما برای دیپلوی بعدی نیاز دارید، حذف شود.
پیشنهاد حرفهای:
ابتدا بررسی کنید چه چیزهایی حذف میشوند:
۳. مدیریت تخصصی تصاویر Docker روی سرور (Docker Images)
مشاهده تمام تصاویر:
حذف تصاویر بلااستفاده (Dangling):
حذف یک تصویر خاص:
حذف تمام تصاویر بلااستفاده روی یک سرور CI/CD:
حذف تمامی تصاویر موجود روی سرور:
این فرمان معمولاً در مواردی مثل Reset کردن سرور یا Rebuild کامل رجیستری استفاده میشود:
نکته مهم برای سرورها:
اگر تصویری حذف شود که کانتینر در حال اجرا دارد، Docker مانع میشود.
برای حذف اجباری:
این دستور باید با احتیاط کامل استفاده شود.
۴. حذف کانتینرها در محیط سرور
فهرست کامل کانتینرها:
حذف یک کانتینر مشخص:
حذف کانتینرهای متوقفشده (مناسب Production):
توقف و حذف همه کانتینرها:
این دستور معمولاً هنگام Reset کردن سرور استفاده میشود:
نکته برای سرورها:
هرگز بدون بررسی کانتینرها را یکجا حذف نکنید.
کانتینرهای مانیتورینگ، لاگگیری یا Database ممکن است متوقف شده باشند اما ضروری باشند.
۵. حذف ولومها (Volumes) — مهمترین منبع مصرف فضای سرور
ولومها در سرورها خطرناکتر از تصاویر هستند، زیرا:
اگر حذف شوند، دادهها برگشتپذیر نیستند.
فهرست ولومها:
شناسایی ولومهای Orphan:
حذف ولومهای بلاصاحب:
حذف یک ولوم مشخص:
حذف ولوم همراه کانتینر:
نکته خیلی مهم:
در سرورها معمولاً:
دیتابیسها
کشها
فایلهای Persistent
در ولومها نگهداری میشوند.
هرگز بدون اطمینان از مصرف بهروز، prune نزنید.
۶. پاکسازی پیشرفته برای سرورهای پرترافیک (CI/CD, GitLab Runner, Jenkins)
اگر سرور شما تعداد زیادی Build انجام میدهد:
پاکسازی Build Cache:
یا پاکسازی کامل:
پاکسازی تمامی منابع BuildKit:
۷. مقایسه تخصصی دستورات پاکسازی Docker
| Order | سطح پاکسازی | مناسب برای سرور | ریسک |
|---|---|---|---|
docker rm | کانتینرها | Medium | پایین |
docker rmi | تصاویر | Medium | Medium |
docker volume rm | ولومها | پایین | بسیار بالا |
docker image prune | تصاویر بلااستفاده | بالا | Low |
docker system prune | همه منابع بلااستفاده | بالا | Medium |
docker system prune -a | حذف عمیق | فقط مواقع اضطراری | بالا |
docker builder prune | Build cache | بالا | پایین |
۸. بهترین استراتژی پاکسازی سرورهای Docker (پیشنهادی DevOps)
🔹 هر روز:
🔹 هر هفته:
🔹 هر ماه (فقط در صورت کمبود فضای دیسک):
🔹 هر ۳ ماه:
بکاپ → بررسی ولومها → حذف ولومهای Orphan
این استراتژی در اغلب دیتاسنترها استفاده میشود و کاملاً Production-Friendly است.
جمعبندی تخصصی
پاکسازی Docker در سرور فقط یک عملیات ساده نیست؛
بیشتر شبیه مدیریت منابع و امنیت داده It is.
با اجرای اصولی دستورات زیر:
فضای سرور آزاد میشود
سرعت Deploy افزایش پیدا میکند
فشار I/O روی دیسک کاهش مییابد
از Crash شدن سرویسها به خاطر پر شدن دیسک جلوگیری میشود
این مقاله یک راهنمای کامل برای مدیریت حرفهای داکر در محیطهای Server-Grade است.








