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

标签 docker nginx

我想在 docker 容器中运行 Nginx,它监听 80 端口,当 url 以单词 api 开头时,我希望它通过 proxy_pass 到端口 8080,我有一些 Web 应用程序监听端口8080。在没有 docker 的情况下,这对我来说一直有效,但是有了 docker,我无法让它工作。

我的 nginx.conf 是这样的:

    location /{
        # serve static page
    }
    location /api {
        proxy_pass http://0.0.0.0:8080;
    }

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

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

最佳答案

docker run -d --net host nginx

试试吧! Nginx 容器将共享主机网络 IP 和所有端口

关于docker - Nginx docker 容器代理传递到另一个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48048695/

相关文章:

linux - 为什么 Node.js 作为后端 Node.js 应用程序的代理,而不是 Nginx?

ssl - 在 nginx 中未检测到 session 缓存

docker - Google Cloud SQL 代理传递凭据文件时出现问题

docker - 使用 Docker 虚拟网络的优点

node.js - 在VS Code中调试在Docker中运行的Node Typescript应用

networking - Docker 桥接网络,容器之间的 HTTP 调用非常慢(在 docker 升级之后)

java - 在 Windows 10 上使用 Clojure/Java 的 NginX - 未启动

linux - Letsencrypt + Docker - 处理符号链接(symbolic link)的最佳方式?

docker - 与nginx未知主机的多个docker-compose共享网络

django - 在 Digital ocean 上部署 Django、Gunicorn、Nginx、Virtualenv 出现 502 Bad Gateway & Gunicorn 无法读取 key