فشلت عملية إعادة البناء بسبب نقص مساحة القرص، لذا أحتاج إلى تحرير بعض المساحة. لكنني عالق في حلقة مفرغة: أمر ./launcher cleanup يحرر مساحة كافية لتجاوز 5 جيجابايت. لذا أبدأ إعادة البناء، لكن هذا يملأ المساحة المستردة مرة أخرى مما يؤدي إلى فشل إكماله. انظر أدناه.
كيف يمكنني استئناف التشغيل؟
$ sudo ./launcher cleanup
سيؤدي الأمر التالي إلى
- حذف جميع صور Docker للحاويات القديمة
- حذف جميع الحاويات المتوقفة والمعزولة
هل أنت متأكد (Y/n):
بدء التنظيف (البايتات الحرة 3931580)
انتهى التنظيف (البايتات الحرة 5903356)
$ sudo ./launcher rebuild app
تحذير: إصدار Docker 17.05.0-ce قديم، يُنصح بالترقية إلى 17.06.2 أو أحدث.
تحذير: نحن على وشك بدء تنزيل صورة Discourse الأساسية
قد تستغرق هذه العملية من بضع دقائق إلى ساعة، حسب سرعة شبكتك
يرجى التحلي بالصبر
تعذر العثور على الصورة 'discourse/base:2.0.20180802' محليًا
2.0.20180802: جاري سحب طبقة النظام
8ee29e426c26: جاري سحب طبقة النظام
6e83b260b73b: جاري سحب طبقة النظام
e26b65fd1143: جاري سحب طبقة النظام
40dca07f8222: جاري سحب طبقة النظام
b420ae9e10b3: جاري سحب طبقة النظام
b89ccfe9dadc: جاري سحب طبقة النظام
40dca07f8222: في الانتظار
b420ae9e10b3: في الانتظار
b89ccfe9dadc: في الانتظار
e26b65fd1143: التحقق من التجزئة
e26b65fd1143: اكتمل التنزيل
6e83b260b73b: التحقق من التجزئة
6e83b260b73b: اكتمل التنزيل
b420ae9e10b3: التحقق من التجزئة
b420ae9e10b3: اكتمل التنزيل
40dca07f8222: التحقق من التجزئة
40dca07f8222: اكتمل التنزيل
8ee29e426c26: التحقق من التجزئة
8ee29e426c26: اكتمل التنزيل
8ee29e426c26: اكتمل السحب
6e83b260b73b: اكتمل السحب
e26b65fd1143: اكتمل السحب
40dca07f8222: اكتمل السحب
b420ae9e10b3: اكتمل السحب
b89ccfe9dadc: التحقق من التجزئة
b89ccfe9dadc: اكتمل التنزيل
b89ccfe9dadc: اكتمل السحب
التجزئة: sha256:be738714169c78e371f93bfa1079f750475b0910567d4f86fa50d6e66910b656
الحالة: تم تنزيل صورة أحدث لـ discourse/base:2.0.20180802
لديك أقل من 5 جيجابايت من المساحة الحرة على القرص الذي يقع عليه /var/lib/docker. ستحتاج إلى مساحة أكبر للمتابعة
نظام الملفات الحجم المستخدم المتاح النسبة% المثبت على
/dev/mapper/vg-lv_root 19G 14G 3.8G 79% /
هل ترغب في محاولة استعادة المساحة عن طريق تنظيف صور Docker والحاويات في النظام؟(y/N)y
تحذير! سيؤدي هذا إلى إزالة:
- جميع الحاويات المتوقفة
- جميع الأحجام غير المستخدمة بواسطة حاوية واحدة على الأقل
- جميع الشبكات غير المستخدمة بواسطة حاوية واحدة على الأقل
- جميع الصور العائمة
هل أنت متأكد من رغبتك في المتابعة؟ [y/N] y
إجمالي المساحة المستعادة: 0B
إذا كان التنظيف ناجحًا، يمكنك المحاولة مرة أخرى الآن
$
Clean up some more space so that the build has enough breathing room to complete. I find that Docker’s cleanup system is not wonderful at purging old images sometimes, so I sometimes have to do a docker images followed by a long docker rmi <ID> <ID> <ID> ....
Anything not in use by a running container is usually safe enough, as far as Discourse is concerned, because it’ll be re-downloaded and/or rebuilt when you do the needful. There’s not a huge pile of images there, though; it’s probably time for you to get a disk upgrade.
Is there any way I can stop it from downloading the latest discourse base image every time I try to rebuild or start the app? I’d like it to just use the old one for now so that I can go to bed…
It only downloads it if it is not on local, we really only download an image once. We only bump the required image once every few months in launcher. There are ways to specify a base image BUT you do not want to do that for a rainbow of reasons.
But when I try to rebuild or start the app, the base images that was presumably deleted by cleanup gets downloaded again and I’m back to where I started.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1fba0860cbc3 local_discourse/web_only "/sbin/boot" 5 months ago Up 29 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp web_only
aa6b422d88ca local_discourse/data "/sbin/boot" 8 months ago Up 29 minutes data
2940a1603151 local_discourse/mail-receiver "/sbin/boot" 8 months ago Up 29 minutes 0.0.0.0:25->25/tcp mail-receiver
What do you mean by that? Will I need a discourse backup? Cause I don’t have one…