مرحباً، أدير منتدى صغيراً مستضافاً ذاتياً على خادم سحابي بسعة 25 جيجابايت يعمل بنظام Debian 13. كنت أحاول التحديث إلى الإصدار 2026.6.0-latest باستخدام الأمر ./launcher rebuild app، لكن التحديث ألغي بسبب عدم توفر مساحة كافية على القرص. اتبعت التلميح لتنظيف صور Docker، لكن ذلك لم يُجدِ نفعاً. يتبقى لدي 3.9 جيجابايت فقط. تبلغ مساحة الملفات المرفوعة في المنتدى 138 ميجابايت، بينما تبلغ مساحة النسخ الاحتياطية 448 ميجابايت. خادمي نظيف تماماً باستثناء تثبيت Discourse، ولم أقم بأي شيء آخر عليه.
بعد البحث باستخدام أمر du، اكتشفت أن المجلد /var/lib/containerd يستهلك 13 جيجابايت، بينما يستهلك /var/docker 5.1 جيجابايت. هل من الطبيعي أن تستهلك هذه المجلدات مساحة بهذا الحجم؟ هل هناك شيء يمكنني فعله حيال ذلك؟
إذا كان ذلك طبيعياً، فأتوقع أن عليّ فقط دفع تكلفة مساحة تخزين إضافية. أردت فقط التأكد قبل تحمل هذه التكلفة الإضافية. شكراً!
من الجدير إجراء تنظيف. يرجى نشر تفاصيل ما حدث. إليك مثال على ما قمت به مرة واحدة:
root@ubuntu-2gb-nbg1-1:/var/discourse# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 12G 6.5G 65% /
root@ubuntu-2gb-nbg1-1:/var/discourse# ./launcher cleanup
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:33ce56b3484175342191a344fe1aa9f330431de7bf6f0f0e14f75c5bd851a5b0
deleted: sha256:5e04a0411f813e8f2c1a50d84a7d7bb1b17a855ce041730cf8e3b2fb90144b19
untagged: discourse/base:2.0.20200512-1735
untagged: discourse/base@sha256:7f6c5be23a8e4237cecafaca9d041de5964f8237345b7b183cebdee1f73ed024
deleted: sha256:991acdba0b1f18141192f8682bc5ec1c3365dff0d4fa1c6504e6ce0e3ae6dd76
deleted: sha256:e1c41c8dbd697ae0a61ca612c61f085f69f5bf74c4269cf5c68b4de0fec723fa
deleted: sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13
untagged: discourse/base:2.0.20200724-1815
untagged: discourse/base@sha256:1d5eb2f8eae84203b28d3c643648d0dd7d213c2055865cfa5132e30db9e365d5
Total reclaimed space: 2.591GB
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 8.7G 9.3G 49% /
من الجدير أيضًا إلقاء نظرة مفصلة على استخدام القرص ونشرها هنا! انظر على سبيل المثال
إذا كان لديك أي نسخ احتياطية على النظام، فيجب عليك تنزيلها واختبارها وحذف جميع النسخ ما عدا الأحدث. إذا كنت تحت ضغط شديد، احذف الأحدث أيضًا. (في حالتي، أتأكد من أن النسخة التي قمت بتنزيلها محمية أيضًا بنسخي الاحتياطي الشخصي خارج الموقع أولاً. احتفظ دائمًا بنسختين على الأقل.)
بصرف النظر عن du، الذي يجيب على الأسئلة على مستوى نظام التشغيل، يمكنك طرح أسئلة على مستوى Docker. يرجى نشر نتائجك المفصلة!
# docker volume ls -qf dangling=true
# docker images -a
من الصعب إدارة استخدام القرص على مثانة بحجم 25 جيجابايت - لقد فعلت ذلك لفترة طويلة، مستخدمًا الوقت والاستفادة من خبرة مسؤول النظام. في النهاية، غيرت المزود، ودفع أقل وحصلت على 40 جيجابايت وكان ذلك أفضل بكثير.
كانت نتيجة الأمر docker volume ls -qf dangling=true فارغة. في الواقع، فإن docker volume ls فارغ أيضًا.
docker images -a:
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
discourse/base:2.0.20260209-1300 50d2dae489a9 4.77GB 1.12GB
discourse/base:2.0.20260521-0047 27373b823bbe 4.89GB 1.17GB
local_discourse/app:latest 01527763be8d 6.9GB 1.63GB U
أنا أعرف القليل جدًا عن Docker لتشخيص هذه المخرجات، لكن /var/log/ يبدو كبيرًا بعض الشيء إذا كان يحتوي فقط على السجلات، ومن المثير للاهتمام وجود 3 صور بينما لدي منتدى واحد فقط يعمل (ربما يكون هذا متوقعًا تمامًا).
أقدر ملاحظتك حول الحاجة إلى مساحة تخزين أكبر. سأقوم على الأرجح بتوسيع المساحة، لكن هذه تجربة تعليمية جيدة قبل أن أفعل ذلك.
لم أفهم أبدًا إدارة حاويات Docker حقًا. في بعض الأحيان تساعد عملية التنظيف. لقد شغلت هذه الأوامر للتو:
# cd /var/discourse/
# df -h /
نظام الملفات الحجم المستخدم المتاح النسبة% المثبت على
/dev/sda1 38 جيجابايت 24 جيجابايت 13 جيجابايت 67% /
# docker images -a
i معلومات → U قيد الاستخدام
الصورة المعرف استخدام القرص حجم المحتوى إضافي
discourse/base:2.0.20260209-1300 18ccefc73392 3.1 جيجابايت 0 بايت
local_discourse/app:latest 810ac5579584 4.57 جيجابايت 0 بايت U
<غير مسمى> d303cfc49c99 4.37 جيجابايت 0 بايت
<غير مسمى> a9d03385c205 4.34 جيجابايت 0 بايت
# ./launcher cleanup
تحذير! سيؤدي هذا إلى إزالة جميع الحاويات المتوقفة.
هل أنت متأكد من أنك تريد المتابعة؟ [y/N] y
إجمالي المساحة المستعادة: 0 بايت
تحذير! سيؤدي هذا إلى إزالة جميع الصور التي لا ترتبط بها حاوية واحدة على الأقل.
هل أنت متأكد من أنك تريد المتابعة؟ [y/N] y
تم حذف الصور:
تم الحذف: sha256:d303cfc49c992b7fa0b0da65e38f3de79312c6e42eb99e5fd7b27bf4e237ab1d
تم الحذف: sha256:829057c668fd2bd0f7b863c2589e5c3c27364285b39d6df31d38eb208e6410df
غير مسمى: discourse/base:2.0.20260209-1300
غير مسمى: discourse/base@sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
تم الحذف: sha256:a9d03385c205f740e5f02db0c665a83688f7194d5386bd2d01772b8b5cd5dc65
تم الحذف: sha256:70ec1b4b6cab7365b5f56b8187ef7631e6906fe13b5d3a2b1e39d3457d14514c
إجمالي المساحة المستعادة: 2.517 جيجابايت
# docker images -a
i معلومات → U قيد الاستخدام
الصورة المعرف استخدام القرص حجم المحتوى إضافي
local_discourse/app:latest 810ac5579584 4.57 جيجابايت 0 بايت U
<غير مسمى> 18ccefc73392 3.1 جيجابايت 0 بايت
# df -h /
نظام الملفات الحجم المستخدم المتاح النسبة% المثبت على
/dev/sda1 38 جيجابايت 21 جيجابايت 15 جيجابايت 59% /
تحذير! سيؤدي هذا إلى إزالة جميع الحاويات المتوقفة.
هل أنت متأكد من رغبتك في المتابعة؟ [y/N] y
إجمالي المساحة المستردة: 0 بايت
تحذير! سيؤدي هذا إلى إزالة جميع الصور التي لا ترتبط بها حاوية واحدة على الأقل.
هل أنت متأكد من رغبتك في المتابعة؟ [y/N] y
الصور المحذوفة:
غير مُصنَّفة: discourse/base:2.0.20260209-1300
محذوف: sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
محذوف: sha256:1bb6f08ca8363e7e002eaf8bafc76b7742d8baa429f816cde77d3d38d234c98a
محذوف: sha256:07596c600885cf3f0647c4b41959c5631328ee37af14913b9f2b1b1771ad4f45
غير مُصنَّفة: discourse/base:2.0.20260521-0047
محذوف: sha256:27373b823bbeca526dd006cefe1c58e7eeca1e5670ab6e619fcd2138f7d50420
محذوف: sha256:ab90467600edc09bae8ac2f43420b7c771f87d357aa15646cd40025ec0774fda
محذوف: sha256:053438a5cf1727f724f96a4d7af0b135929f633afd8ee05edcddeaf99232b636
إجمالي المساحة المستردة: 1.17 جيجابايت
لكن هذا غريب: فقد انتقل منتدي Discourse للتو من الإبلاغ عن 3.9 جيجابايت فارغة إلى 8.5 جيجابايت فارغة. إذا قمت بتشغيل أمر du -hx / | sort -h | tail -49 مرة أخرى، يمكنك المقارنة مع نتائجي السابقة، وقد تقلص /var/lib بمقدار 8 جيجابايت: