لدي بالفعل Discourse مثبت ويعمل. في كل مرة أقوم فيها بإعادة بناء التطبيق، فإنه يسحب مستودع المشغل، وصورة Docker الأساسية لـ Discourse، ومستودع Discourse.
أريد الحد من هذا السلوك بحيث لا يتحقق إعادة البناء من التحديثات ويسحبها تلقائيًا إلا إذا تم تمرير معلمة محددة.
نقطة الاستقرار هي عدم التغيير. لماذا تعيد البناء على الإطلاق؟
السبب في سحب الحاوية هو الحفاظ عليها متوافقة مع متطلبات كود الخطاب.
إذا كنت ترغب في القيام بشيء مثل الدخول إلى الحاوية دون إجراء سحب، يمكنك
docker exec -it app bash
وإذا كنت ترغب في إضافة مكون إضافي دون إعادة البناء، يمكنك الدخول إلى دليل المكون الإضافي واستنساخه ثم ترحيل قاعدة البيانات، ولكن لا يزال يتعين عليك التأكد من حصولك على الالتزام الصحيح للمكون الإضافي للاستقرار المستمر.
قد يعمل مع المكونات الإضافية الخاصة بواجهة برمجة التطبيقات (API) فقط، ولكن أي جافاسكريبت (JavaScript) أو مكونات إضافية جديدة تحتاج إلى تجميع، وهو ما يحدث في عملية البناء.
لذلك، لإضافة مكون إضافي جديد، يجب عليك إجراء إعادة بناء في معظم الحالات.
المشكلة الأخرى التي تواجهها هي أن تغيير نصوص البناء الأساسية قد يوقعك في مشاكل كبيرة إذا لم تكن حذرًا، خاصة إذا كان هناك تغيير كبير بما فيه الكفاية في نصوص البرمجة الأساسية.