أعمل على إعداد مثيل تجريبي من Discourse في آلة افتراضية (VM) حتى أتمكن من العمل على استيراد البيانات من برنامج آخر. أنا جديد على Docker و Discourse و Ruby، لذا لم أتعرف بعد على ما يحدث في الخلفية. حتى الآن، قمت بعمل نسخ فرعية (fork) لمستودع discourse_docker ثم استخدمته متبّعًا الإرشادات هنا (باستخدام آلة افتراضية محلية من Ubuntu بدلاً من مثيل سحابي): discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
بعد الإعداد، وفقًا لنتائج أمر netstat، يبدو أن الآلة الافتراضية المحلية هنا قامت بإعداد الحاوية بطريقة تجعل المنافذ 80 و443 تستمع فقط إلى عنوان IPv6. ولا أستخدم IPv6 محليًا، لذا لا يمكنني الوصول إلى مثيل Discourse. كيف يمكنني تصحيح هذا؟ لقد نظرت في ملف app.yml ولكن لا يبدو أن هناك أي إعدادات ربط (bind settings) فيه. لقد بحثت عن أي شخص واجه مشكلة مماثلة - كانت هناك نتيجة واحدة أعتقد أنها تعود لعام 2015، حيث كان الحل هو تغيير إعدادات DNS داخل الحاوية نفسها. يبدو هذا فكرة سيئة (Bad Idea™)، لذا آمل في وجود حل أقل تعقيدًا.
لا، لدي مضيف VMware خاص بي أستخدمه لتشغيل الآلة الافتراضية. ولا أواجه أي مشكلة في الوصول إلى الآلة الافتراضية عبر IPv4 سواء مباشرة أو عبر اسم DNS. المشكلة فقط أنه لسبب ما، خدمات Docker (وليس الأشياء الافتراضية مثل خادم SSH) ترتبط فقط بـ :::80 و :::443 بدلاً من 0.0.0.0.
هل هناك ملف سجل ذي صلة في مكان ما قد يوفر بعض التفاصيل؟
هناك أمثلة هنا لتشغيل عملية استيراد داخل حاوية. ومن المرجح أن تكون أفضل من الرابط الذي أشرت إليه (لكنني لم ألقِ نظرة عليه، لذا قد أكون مخطئًا).
حسنًا، حتى الآن لم أصل بعد إلى مرحلة الاستيراد.
في النهاية، أود العمل على تحسين سكريبت الاستيراد هذا لموقعنا. لقد كافحت حتى الآن مع بعض الأدلة المختلفة للبدء، لكنني اعتقدت أن التثبيت العادي البسيط سيكون هو الخيار الأفضل في الوقت الحالي.
المشكلة تكمن في Docker أو في الآلة الافتراضية لديك. أنصحك بالاطلاع على أدلة الآلة الافتراضية وDocker والبدء بإنشاء حاوية “Hello World” بسيطة. هذه ليست مشكلة في Discourse.