如何使用在主机上运行的nginx代理docker容器?

时间:2019-04-21 23:22:40

标签: docker nginx reverse-proxy

编辑:这样做的目的是仅允许UDP连接到它使用特定子域的特定端口。我现在知道udp没有子域的概念,这使整个问题变得毫无意义。

我在主机上运行nginx,并且要代理的程序在docker容器中运行。如何配置nginx将流量从特定子域重定向到该容器?我找不到该设置的任何示例,仅在主机上或在Docker容器中都找到。我以前使用过proxy_pass,但仅​​在主机上同时使用了。另外,我不希望将IP从docker容器发布到主机。我宁愿让Nginx进行转发。

2 个答案:

答案 0 :(得分:0)

此配置应正常工作:

server {
    listen       80;
    server_name  subdomain.domain.tld;
    location / {
        proxy_pass http://<IP of Docker Container>:<port>;
    }
}

答案 1 :(得分:0)

作为对@IHuman的响应,我将docker容器从port-forward转发到主机上的端口。这样,在主机上运行的Nginx的所有位置都将参考回送ip

server {
    listen       80;
    server_name  subdomain.domain.tld;
    location / {
        proxy_pass http://127.0.0.1:<port1>;
    }
}