Wenn Sie beabsichtigen, dass diese Instanz im Internet verfügbar ist, wird die Verwendung einer .local-Domain in app.yml Probleme verursachen. Vielleicht ist dies etwas, das Sie nur zu Hause oder nur zum Testen verwenden möchten. Ich dachte nur, es wäre erwähnenswert.
Unter der Annahme, dass Ihr Docker-Netzwerk korrekt funktioniert und den Container von außerhalb des Host-Rechners über diese IP-Adresse erreichbar macht, müssten Sie auch DNS so konfigurieren, dass discourse.simonz.local auf diese IP-Adresse verweist.
Es scheint, dass die Domain auf den Host-Rechner aufgelöst wird und Sie den Port nicht angeben (z. B. discourse.simonz.local:1234), wenn Sie versuchen, darauf zuzugreifen, sodass sie stattdessen nginx und nicht den Docker-Container erreicht.
Wenn Sie Discourse über einen anderen Port verfügbar machen möchten, benötigen Sie ihn wahrscheinlich nicht über eine andere IP-Adresse. Wenn Sie ihn über den Standardport sowie nginx über den Standardport verfügbar machen möchten, müssen Sie DNS so konfigurieren, dass es Sie auf die richtige IP-Adresse leitet, oder Sie benötigen nginx, um Discourse weiterzuleiten.
.local-Domains werden normalerweise vom System basierend auf seinem konfigurierten Hostnamen angekündigt. Discourse hat normalerweise keinen wirklichen Bedarf, dies zu tun, daher hat der Container möglicherweise nichts dafür.
Wenn Sie den Weg über den Standardport, eine andere IP-Adresse und DNS gehen möchten, liegt dies außerhalb des Geltungsbereichs von Discourse, und die Einrichtung hängt von verschiedenen Faktoren in Ihrem Netzwerk ab.
Wenn Ihr Ziel darin besteht, etwas sowohl in nginx als auch in Discourse auf demselben Host verfügbar zu machen, empfehle ich den oben genannten Proxy-Ansatz. Obwohl es sich technisch gesehen um eine nicht unterstützte Installation handelt, ist es eine gängigere Einrichtung, bei der mehr Leute helfen können.