الموقع غير متاح من المتصفح - مشاكل docker

لقد كنت أحاول تثبيت Forest Admin، وكان يتطلب docker-compose.

وبما أنني لم أكن أملكه، قمت بتثبيته:

sudo apt  install docker-compose

ولكن عندما حاولت تشغيله، ظهرت لي رسالة خطأ:

docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

جربت عدة أشياء، وأُوصي أحدها بإعادة تشغيل Docker:

sudo systemctl restart docker
Failed to restart docker.service: Unit docker.service is masked.

لذلك قمت بإلغاء إخفائه وإعادة بنائه، لكنني لم أستطع بعد ذلك الوصول إلى التطبيق:

sudo systemctl unmask docker
Removed /etc/systemd/system/docker.service.

sudo systemctl restart docker
# no error

تمكنت من إعادة بناء الصورة بنجاح وانتهت العملية دون أخطاء:

sudo /var/discourse/launcher rebuild app

ولكن عند الانتقال إلى الرابط، لا يمكن الوصول إليه.

ويأسًا، جربت أيضًا تحديث Docker وإعادة بناء الصورة عدة مرات، لكن دون جدوى:

wget -qO- https://get.docker.com/ | sh

sudo /var/discourse/launcher rebuild app

لقد نفدت أفكاري. هل هناك شيء آخر يجب أن أجربه؟

أود تجنب الحاجة للاستعادة من نسخة احتياطية لأنني سأفقد بعض البيانات، ولكن إذا كان هذا هو الخيار الوحيد، فما هي أفضل طريقة؟

  • استعادة أحدث نسخة احتياطية من Digital Ocean
  • استعادة أحدث نسخة احتياطية من Discourse

لا أستطيع الجزم ما إذا كنت قد عطّلت Docker أم أن Forest Admin يمنع عمل Discourse. ما المشكلة التي يحلّها Forest Admin؟

شكرًا لك، جاي. دعنا ننسى Forest Admin. قمت بإزالته مؤقتًا. هل هناك أي شيء آخر يمكنني فعله لتشخيص المشكلة؟

أنا متأكد تقريبًا من أنني تسببت في خلل في Docker. وفي حال كان ذلك ذا صلة، فقبل ذلك كان لدي Docker 18.09.6، الإصدار 481bc77، والآن لدي 20.10.2، الإصدار 2291f61.

حسنًا، اتضح أن الحل كان أبسط بكثير: كل ما كان عليّ فعله هو إعادة تشغيل nginx :sweat_smile:

عندما حاولت القيام بذلك، ظهرت لي هذه الرسالة:

sudo service nginx restart
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

لم أجد شيئًا واضحًا في السجلات، لكن إعادة تشغيل الخادم نجحت في حل المشكلة:

sudo shutdown -r now

الآن يعمل الموقع بشكل صحيح.

3 إعجابات

لا تحتاج إلى nginx. أعتقد أنه عند إعادة تشغيله، تمكن Discourse من استيلاء على المنفذ 80 بينما كان nginx يعيد التشغيل. وقد حظيت بحظ جيد حيث أن Discourse تمكن من الإقلاع قبل nginx عند إعادة تشغيل النظام. يجب عليك إلغاء تثبيت nginx أو تعطيله (ما لم قمت بإعداده كوسيط عكسي، وهو أمر لا يمكنك فعله باستخدام discourse-setup).

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

شكرًا لك، جاي. لقد قمت بإعداد nginx كـ وكيل عكسي لعرض صفحة جميلة أثناء إعادة البناء.

إعجابَين (2)