./discourse-setup: تعذر تحديد المضيف: github.com

عند تشغيل ./discourse-setup، يستمر الفشل مع الخطأ التالي:

cd /pups && git pull && /pups/bin/pups --stdin
fatal: unable to access 'https://github.com/discourse/pups.git/': Could not resolve host: github.com
fe7a66f6321f948dd840124da1f0165db18807367b4419e1cc9906eb7f71a0a8
** FAILED TO BOOTSTRAP **

لقد جربت ما لا يقل عن 3 حلول مختلفة لهذه المشكلة، وجدت بعضها في هذا المنتدى وحول GitHub، بما في ذلك بعض إجابات Docker Stack Overflow بشأن “نقص الإنترنت” و"مشاكل DNS" داخل Docker.

لقد جربت اتباع ما لا يقل عن 2 دليل تعليمي مختلف وجدته لإعداد برنامج منتدى Discourse، الدليل الرسمي ودليل آخر.

أشياء مثل إعداد ملف daemon.json مع تكوين DNS. وضع واجهة docker0 في وضع الاستماع (promiscuous mode).

بعد كل ذلك، لا يزال لدي نفس المشكلة.

أستخدم خادم Ubuntu 20.04 يستضيفه OVH.

أستطيع عمل ping لـ github.com والحصول على استجابة على المضيف، ولكن ليس داخل إعداد Docker.

هل يستطيع أحد المساعدة؟

تعديل: بعد تجميع إدخال يدوي في ملف /etc/hosts لبيئة الحاوية لعنوان IP الخاص بـ github، يظهر الآن “انتهت مهلة الاتصال” بدلاً من “تعذر حل github.com”.

هذا هو التقرير الثاني على الأقل في الأيام الأخيرة.

سنقوم بمراجعة العملية.

5 إعجابات

كيف قمت بتثبيت Docker؟

أعتقد أن أول مرة قمت بتشغيل /discourse-setup، قام بتثبيت Docker لي تلقائيًا.

وبعد أن قمت بإدخال يدوي في ملف /etc/hosts لبيئة الحاوية لإضافة عنوان IP الخاص بـ GitHub، أصبح الخطأ الآن يقول “انتهت مهلة الاتصال” بدلاً من “غير قادر على حل عنوان github.com”.

إذن يبدو أن المشكلة تتعلق باتصال الإنترنت بشكل عام وليست مشكلة في DNS فقط. حتى جربت تشغيله مع خيار --network host وما زال لا يعمل، رغم أنه يعمل على المضيف الخاص بي.

إذا قمت بتشغيل حاوية Docker بسيطة للاختبار، يمكنني الوصول إلى الإنترنت منها. يبدو فقط أن حاوية Discourse لا تتصل بالخارج.

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

ملاحظة فقط، يبدو أن الأمر يعمل بشكل جيد على DigitalOcean droplet (كما هو موصى به في ملف README). ومع ذلك، لا يزال هذا المشكلة مستمرة على خادم Ubuntu 20.04 الحالي الخاص بي.

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

أواجه نفس المشكلة مع Droplet افتراضي من Digital Ocean يعتمد على Ubuntu 20.04. هل وجدت حلاً حتى الآن؟

يبدو أن الأمر يعمل الآن، انظر إلى: After upgrade, docker cannot communicate with the outside world - #24 by niels-anders