Dockercompose、Nginx、解析器不工作

Ver*_*ago 5 nginx docker docker-compose nginx-reverse-proxy

我使用具有以下配置的 nginx 容器:

set $ui http://ui:9000/backend;
resolver 127.0.0.11 valid=5m;
proxy_pass $ui;
Run Code Online (Sandbox Code Playgroud)

这是必需的,因为 nginx 启动时“ui”容器不一定会启动。这可以避免“在上游找不到主机...”错误。

但现在,即使 ui-container 已启动并运行(它们都位于 docker-compose.yml 中定义的同一网络中),我也会收到 404 错误。当我在没有变量、没有解析器的情况下代理传递并首先启动 ui 容器时,一切正常。

现在我正在寻找为什么 docker 无法解决它。我可以手动添加一条到http://ui的假路由,当 ui-container 启动时该路由会被替换吗?那会是哪里呢?或者我可以修复解析器吗?

Ver*_*ago 3

答案就像这篇文章中的那样:

/sf/answers/3662341301/

唯一的变化是将解析器和设置变量放入服务器主体而不是位置。