Nginx 和 Docker 主机名

Nginx 和 Docker 主机名

我不确定我尝试的方法是否可行,但我动态创建了 Docker 容器并为其分配了一个主机名,例如abcde。每个容器监听端口 3000,并在主机上分配一个随机端口(例如 32768)。

我还有一个如下所示的 Nginx 服务器块:

resolver 127.0.0.11 valid=10s;

server {
  listen 80;
  server_name ~^(?<container>\w+)\.apps\.example\.com$;

  location / {
    proxy_pass http://$container;
  }
}

Nginx 反向代理不是 Docker 容器 - 它位于主机上。

有一个docker网络,每个容器都在这个网络上。这是我手动创建的桥接网络。

目标是访问诸如的 URLhttp://abcde.apps.example.com 并将其传递给具有主机名的 docker 容器abcde,但是这会导致坏网关错误(等到浏览器似乎超时之后)。

我试图避免动态创建/编辑 nginx conf 文件,所以我希望不需要 proxy_pass 中的端口号?

相关内容