مرحباً، لدي Discourse CE يعمل في Docker. لدي صلاحيات الجذر وأقوم بعمل نسخة احتياطية للحاوية باستخدام docker id stop و docker image save -o <id> file.tar. بعد ذلك، أقوم بترقية Discourse بنجاح. الآن اختبرت الاستعادة باستخدام docker image load -i file.tar و docker start id، ولكنها لا تزال النسخة المحدثة وليست النسخة القديمة كما توقعت.
ماذا فعلت بشكل خاطئ؟
شكراً
هذا غريب.
أتوقع ألا يعمل بما أن قاعدة البيانات (الموجودة في التخزين الدائم) قد تم ترحيلها إلى ما هو أبعد مما يمكن للصورة القديمة دعمه.
كيف قمت بالترقية؟ من سطر الأوامر مع إعادة البناء أم من واجهة مستخدم Discourse؟
مرحباً،
نعم، لم أفهم ذلك أيضاً. سأحاول مرة أخرى بنفس النتيجة. لقد أعطيت واجهة المستخدم الرسومية للويب فرصة وهي تعمل بشكل جيد. لا توجد أخطاء ولا مشاكل.
هل قمت بتدمير صورة دوكر Discourse أم استعدت النسخة الاحتياطية إلى صورة مختلفة؟
إذًا لم أُفسد الصورة. هل كان ذلك فشلي؟
لا أعرف. لا أعتقد أنني استخدمت حفظ الصور من قبل.
لكن أعتقد أنني سأحاول بعد ذلك استعادة هذا النسخ الاحتياطي إلى اسم حاوية جديد.
عذرًا، لقد فاتنا الرد على سؤالك. لقد كان نفس السؤال، فقط النسخ الاحتياطي والاستعادة.
البيانات المستمرة لا يتم تخزينها في الحاوية ولكن على نظام الملفات كما يذكر @pfaffman.
يجب أن نسأل: ما هي المهمة التي تحاول إنجازها؟
كانت الفكرة بسيطة لعمل نسخة احتياطية من حاوية docker بأكملها ليلاً. وأيضًا كما في هذه الحالة قبل الترقية من الإصدار التجريبي 4 إلى الإصدار التجريبي 5 وفي حالة حدوث خطأ، التراجع إلى الحاوية القديمة.
شكرًا
ستحتاج أيضًا إلى التراجع عن قاعدة البيانات.
قد ترغب في موقع مرحلي لاختبار الترقية قبل تشغيلها. يمكنك أيضًا دفع الحاوية من الموقع المرحلي إلى مستودع ثم تشغيلها على موقع الإنتاج.