بعد أن أمضيت ساعات طويلة في محاولة حل المشكلة، حان الوقت لطلب المساعدة.
سجل التصحيح:
https://privatebin.net/?b56249efe41b5599#8nt7yMQU2Hft4HysXSoZkxXQTYdR9MFv91qC9sbBgen
بعد أن أمضيت ساعات طويلة في محاولة حل المشكلة، حان الوقت لطلب المساعدة.
سجل التصحيح:
https://privatebin.net/?b56249efe41b5599#8nt7yMQU2Hft4HysXSoZkxXQTYdR9MFv91qC9sbBgen
يواجه الـ Droplet الخاص بك (أو حاوية docker) مشاكل في الاتصال بـ github
fatal: unable to access ‘GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.’: Could not resolve host: github.com
هل يمكنك التحقق مما إذا كان github متاحًا؟
آه، هل هذا يعني أنني حاولت إعادة البناء عدة مرات في فترة قصيرة وتم حظر عنوان IP الخاص بالخادم الخاص بي مؤقتًا؟
هل لا توجد أي أهمية للأخطاء الأخرى؟
لقد حاولت مرة أخرى وما زلت محظورًا، فهل هناك أي شيء آخر يمكنني تجربته أم يجب أن أنتظر 24 ساعة ثم أحاول مرة أخرى؟
يمكنك محاولة عمل ping/curl لـ github.com ومعرفة ما إذا كنت تحصل على أي استجابة. قد تكون المشكلة متعلقة بجدار الحماية أو الاتصال بدلاً من حد المعدل.
يشير “تعذر حل المضيف” إلى مشكلة في نظام أسماء النطاقات (DNS)، أي أن خادمك غير قادر على العثور على عنوان IP لـ github.com.
==================== REBUILD LOG ====================
تم اكتشاف بنية x86_64.
التأكد من تحديث المشغل
جلب الأصل
المشغل محدث
هذا يشير لي إلى أن مضيفك قادر على حل github.com والاتصال به ما لم تكن قد استنسخت مستودع discourse_docker من مكان آخر. يمكنك تأكيد ذلك بالأوامر التالية لسرد الأصل للمستودع:
cd /var/discourse
git remote -v
والذي يجب أن ينتج عنه:
origin https://github.com/discourse/discourse_docker.git (fetch)
origin https://github.com/discourse/discourse_docker.git (push)
إذا كان الأمر كذلك، فإن الخطأ اللاحق الذي يفشل في حل github.com يعني أن حاوية docker غير قادرة على حله على الرغم من قدرة المضيف على ذلك، مما يشير إلى مشكلة في اتصال docker.
git remote -v كان بالفعل لديه الناتج المقصود. كيف يجب أن أستكشف أخطاء Docker، أو هل يجب أن أعيد تثبيته ببساطة؟ يسعدني القيام بذلك طالما أنني لا أفقد أي بيانات. أين يخزن Discourse بالضبط قاعدة بياناته والملفات التي تم تحميلها (مهما حدث بعد ذلك، أود عمل نسخة احتياطية منها يدويًا)؟
/var/discourse/shared/standalone يتم تعيينه إلى وحدة تخزين في الحاوية، ويتم تخزين جميع البيانات المستمرة تحت هذا المسار.
docker network ls سيقوم بسرد شبكات Docker، ما أراه هو شبكة الجسر الافتراضية وشبكتين أخريين. تستخدم الحاويات شبكة الجسر الافتراضية ما لم يتم إخبارها صراحةً باستخدام شيء آخر.
لقد وجدت بعض المعلومات حول شبكة الجسر الافتراضية التي لم تعد توفر الاتصال بالعالم الخارجي. أنا أتكهن ولكن Ubuntu 22.04 قد انتقل إلى إصدار من Docker حيث ينطبق هذا، مما يعني أن حاوية Discourse ستحتاج إلى إعداد لاستخدام جسر معرف من قبل المستخدم بدلاً من ذلك.
أعتقد أنه يمكنك فقط تعديل /var/discourse/containers/app.yml وإضافة هذا إلى الأسفل، ثم إعادة البناء: (لم أختبر هذا، ومع ذلك)
networks:
default:
driver: bridge
يبدو أن /var/discourse/shared/standalone/backups/default يحتوي على نسخ احتياطية مضغوطة لجميع الأجزاء المهمة، قاعدة البيانات والمرفقات.
شكراً على الأفكار، لكنها لم تنجح.
هل يجب أن أحاول إعادة تثبيت Docker ببساطة، أو إذا فعلت ذلك، فقد أقوم بتدمير كل شيء وإجراء تثبيت جديد كامل لـ Discourse بالكامل (لقد قمت بالتثبيت عبر Discourse | DigitalOcean Marketplace 1-Click App)؟
أفترض أن استيراد ملف النسخ الاحتياطي أمر بسيط في لوحة تحكم Discourse الإدارية؟
يعد التثبيت القياسي هو الطريقة الوحيدة المدعومة رسميًا للتثبيت ولكن يمكنك العثور على معلومات حول استعادة نسخة احتياطية أدناه. يجب أن تكون العملية هي نفسها لتثبيت DO بنقرة واحدة.
يبدو أن تطبيق النقرة الواحدة يستخدم صراحةً Ubuntu 20.04 ، لذا حتى يتغير ذلك ، ربما يجدر البقاء على 20.04. سيستمر في الحصول على تحديثات إصلاح الأخطاء / الأمان لمدة ثلاث سنوات أخرى ، لذا لا داعي للاندفاع للانتقال إلى 22.04.
قد ترغب في محاولة إعادة تثبيت Docker أولاً. ربما نشأت المشكلة من الترقية ، ومن المعقول أن يؤدي إزالة شبكة Docker وإعادة إضافتها بواسطة التثبيت إلى حلها.
لقد انتهيت ببساطة من إعادة بناء القطرة بنسخة نظيفة من Ubuntu 22.04، وإعادة تثبيت Discourse يدويًا (بالطريقة القياسية)، ثم استيراد النسخة الاحتياطية. لقد كان الأمر سريعًا وسهلًا، وأتمنى لو أنني فعلت ذلك منذ البداية.
شكرًا على كل المساعدة!
هذا مفيد لمعرفة أنه ليست مشكلة عامة في التثبيت على 22.04.
لقد أجريت بعض do-release-upgrades من 20.04 إلى 22.04 في نهاية هذا الأسبوع وأؤكد أنها تعمل الآن بشكل جيد دون الحاجة إلى إعادة تثبيت Docker. لا بد أن شيئًا ما قد تم إصلاحه في مستودعات Ubuntu في الأسابيع القليلة الماضية.
يجب أن يكون الأمر جيدًا لإجراء ترقيات كهذه دون مشاكل الآن.