设置自定义IP不起作用吗?

如果您打算在互联网上使用此实例,在 app.yml 中使用 .local 域将会导致问题。也许您只打算在家中使用或仅用于测试,只是觉得值得一提。

假设您的 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 以及在同一主机上使用 Discourse,我建议使用上面链接的代理方法。虽然这在技术上也是一个不受支持的安装,但它是一种更常见的设置,并且有更多人能够提供帮助。