الترقية مع انخفاض المساحة: إيقاف التطبيق، ثم التنظيف، ثم إعادة بناء التطبيق؟

مرحباً يا رفاق. يبدو هذا سؤالاً غبياً، لكنني سأطرحه على أي حال.

لقد علقت في هذه الحلقة المألوفة:

  1. فشل الترقية.
  2. جرب ./launcher rebuild app، ولكن لا توجد مساحة كافية على القرص. (أقل من 5 جيجابايت مجانية.)
  3. ./launcher cleanup، والذي بدا أنه يحرر بعض مساحة القرص. (أكثر من 5 جيجابايت مجانية.)
  4. انتقل إلى 2.

نظرًا لأنني لا أعرف بعد أي العمليات آمنة (بمعنى أنها لن تدمر بيانات موقعي)، فقد تجولت بعصبية، على أمل ألا أحتاج إلى الاستعادة من نسخة احتياطية. انتهى بي الأمر بفعل هذا وبدا أنه نجح بالنسبة لي.

  1. ./launcher stop app
  2. ./launcher cleanup، والذي نظف مساحة أكبر بكثير مما فعله سابقًا، مما جعلني متوترًا على الفور.
  3. git pull
  4. ./launcher rebuild app

لم ينجح هذا فحسب، بل أدى إلى تشغيل موقع بياناته سليمة ومعه مساحة أكبر مما كانت لدي سابقًا بحوالي 2 جيجابايت.

الآن لست متأكدًا مما إذا كان ما فعلته رائعًا، أو واضحًا، أو محفوفًا بالمخاطر ونجح فقط. أود أن أفهم بشكل أفضل لماذا حصلت على النتائج التي حصلت عليها وما إذا كانت طريقة معقولة للترقية.

شكراً جزيلاً.

إعجاب واحد (1)

يقوم دوكر بإنشاء مجموعة من الملفات عند بناء حاوية (بما في ذلك الحاويات التي يبنيها) عند بناء حاوية جديدة، لا تزال لديك الحاويات القديمة (وكذلك صور الأقراص). هذا هو ما تتم إزالته عند إجراء تنظيف.

من الآمن قليلاً تشغيل أمر التنظيف أثناء تشغيل ديسكورس، لأن أمر التنظيف لن يحذف حاوية قيد التشغيل. إذا حدث خطأ ما في إعادة البناء، فلا يزال بإمكانك إعادة تشغيل الحاوية القديمة إذا كانت موجودة.

لذلك، سأقوم بإزالة الخطوة (1) أعلاه والخطوة (3) غير ضرورية لأن ./launcher يقوم بالسحب (في الأيام الخوالي، لم يكن كذلك).

قد أكون مخطئًا، لكن ألن يؤدي ذلك إلى نفس الخطوتين في الكتلة الأولى التي لم تكن تعمل؟ (2-4):

على صعيد آخر، يبدو هذا أشبه بالمزيد من هذا الموضوع:

إعجابَين (2)

عفوًا. نعم. لم أعد قراءة ذلك.

لذا نعم، إذا كانت مساحة القرص لديك ضيقة جدًا بحيث لا توجد لديك مساحة لصورين، فأنت بحاجة إلى تدميرها جميعًا قبل بناء صورة جديدة، مما يضعك في موقف سيء إذا لم تتمكن لسبب ما من بناء صورة جديدة. في هذه الحالة، تحتاج حقًا إلى مزيد من مساحة القرص. أسهل شيء يمكنك القيام به هو نقل النسخ الاحتياطية إلى S3.

إعجاب واحد (1)

أنا متفاجئ من عبارة “مساحة القرص ضيقة جدًا” في وضعي. أقوم بالتنظيف، ولدي 7.9 جيجابايت مجانية، ثم أقوم بتشغيل ./launcher rebuild app ويرفض الانتهاء. هل 7.9 جيجابايت مجانية عندما أريد إعادة بناء التطبيق قليلة جدًا؟!

(تحديث: الآن أفهم كيف يمكن أن يحدث هذا. أترك هذا هنا للمارة الأبرياء للعثور عليه في بحث على الويب. يرجى قراءة هذا الموضوع بأكمله، أيها الزملاء!)

شكرًا لك! هذه هي المشكلة بالفعل! ويبدو أن هذه هي النقطة المهمة: "Less than 5GB of free space" — not true! 👀 - #3 by Simon_Manning

خاصة:

لهذه إعادة البناء بالذات، احتجت إلى تنزيل صورة أساسية جديدة

سيكون من المفيد بشكل خاص تضمين هذه المعلومات بطريقة ما في عملية الترقية، إما كتحذير مسبق “نحتاج إلى تنزيل صورة أساسية جديدة، لذا ربما تحتاج إلى 3 جيجابايت إضافية من المساحة مقارنة بالوضع الطبيعي للترقية. إذا نفدت المساحة، فهذا هو السبب على الأرجح.” أو كخطأ أكثر تفصيلاً عندما تنفد مساحة عملية الترقية/إعادة البناء. بخلاف ذلك، نجد أنفسنا في حلقة لا نهاية لها من “ها هي، كل المساحة التي (تبدو) بحاجة إليها!” (بيكارد وذراعه ممدودة.)

سيكون من المفيد أيضًا عدم الاضطرار إلى البحث كثيرًا للعثور على خيار استخدام ./launcher rebuild app --skip-prereqs عندما تقصد “ثق بي، لدي مساحة قرص كافية.” نعم، ضع تحذيرات بخط عريض، أحمر، بحجم 72 نقطة.

هذه “الصورة الأساسية الجديدة تجعل الترقية غريبة” تحدث بشكل غير متكرر بما يكفي لكي ننساها، ولكنها تسبب مشاكل أثناء الترقية. أين هو المكان المناسب لمقال حول هذا الموضوع يركز على ما نعرفه حول كيفية تجاوز المشاكل؟

شكرًا.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.