إذا كنت تنوي أن تكون هذه النسخة متاحة على الإنترنت، فإن استخدام نطاق .local في app.yml سيتسبب في حدوث مشاكل. ربما يكون هذا شيئًا تنوي استخدامه فقط في المنزل أو للاختبار فقط، فقط اعتقدت أنه يستحق الذكر.
بافتراض أن شبكة Docker الخاصة بك تعمل بشكل صحيح، مما يجعل الحاوية قابلة للوصول على عنوان IP هذا من خارج الجهاز المضيف، ستحتاج أيضًا إلى DNS لتوجيه discourse.simonz.local إلى عنوان IP هذا.
يبدو أن ما يحدث هو أن النطاق يتم حله إلى الجهاز المضيف ولا تحدد المنفذ (على سبيل المثال، discourse.simonz.local:1234) عند محاولة الوصول إليه، لذلك يصل فقط إلى nginx بدلاً من حاوية docker.
إذا كنت تريد أن يكون Discourse متاحًا على منفذ مختلف، فربما لا تحتاج إليه على عنوان IP مختلف. إذا كنت تريده متاحًا على المنفذ القياسي، وكذلك nginx على المنفذ القياسي، فأنت بحاجة إلى DNS لتوجيهك إلى عنوان IP الصحيح أو تحتاج إلى nginx لعمل بروكسي لـ Discourse.
عادةً ما تعلن أنظمة .local عن نفسها بناءً على اسم المضيف الذي تم تكوينه. لا يحتاج Discourse حقًا إلى القيام بذلك عادةً، لذلك قد لا يكون لدى الحاوية أي شيء للقيام بذلك.
إذا كنت ترغب في اتباع مسار المنفذ القياسي، عنوان IP مختلف، DNS، فهذا خارج نطاق Discourse وسيتم إعداد ذلك اعتمادًا على عوامل مختلفة في شبكتك.
إذا كان هدفك هو مجرد توفير شيء ما في nginx بالإضافة إلى Discourse على نفس المضيف، فأنا أوصي بنهج البروكسي الموضح أعلاه. بينما لا يزال تثبيتًا غير مدعوم تقنيًا، إلا أنه إعداد أكثر شيوعًا وسيكون هناك المزيد من الأشخاص القادرين على المساعدة فيه.