Nginx docker容器代理传递到另一个端口

Arc*_*ect 3 nginx docker

我想在 docker 容器中运行 Nginx,它监听端口 80,并且当 url 以 word 开头时,我希望它 proxy_pass 到端口 8080 api,并且我有一些 Web 应用程序监听端口 8080。这在没有 docker 的情况下对我有用,但对于 docker,我无法让它工作。

我的 nginx.conf 是这样的:

    location /{
        # serve static page
    }
    location /api {
        proxy_pass http://0.0.0.0:8080;
    }
Run Code Online (Sandbox Code Playgroud)

我运行我的 nginx 容器docker run -d -p 80:80 -p 8080: 8080 nginx

我的问题是现在我无法再运行我的 Web 应用程序,因为它无法侦听端口 8080,因为该容器已经在侦听它。

亚里士*_*士朱德 6

docker run -d --net host nginx

尝试一下!Nginx容器将共享主机网络的IP和所有端口