如何configurationnginx泊坞窗容器在不同的端口识别本地主机应用程序?
安装程序:以下所有内容都在我的Mac OS上运行:
localhost:8089 a nodejs REST api runing in my local, OUTSIDE of the nginx container, stand alone!
locahost:80个nginx docker container
我能够在nginx的docker容器中提供静态文件,但是当我把nginx的configuration设置为:
http { server { location / { root /usr/share/nginx/html; } location /api/ { proxy_pass http://localhost:8089; } } }
由于某种原因,任何localhost:80/api
调用,假设指向http://localhost:8089;
呼叫正在返回404未find页面
404 Not Found nginx/1.13.6
任何想法在哪里configuration我犯了错误? 我觉得也许我不应该在nginx中使用localhost:8089
? 但那我该用什么?
一个例子可以在这里findhttps://github.com/adamchenwei/docker-nginx-playground
容器有自己的networking命名空间/networking堆栈。 所以容器内的localhost就是容器本身的localhost。
如果您正在运行Docker for Mac,那么在容器中有一个特殊的主机名,允许您连接到主机上运行的服务。 有关更多信息,请参阅此答案。 https://stackoverflow.com/a/43541732/1811501
如果你在Linux上运行Docker,这个答案(在同一个问题上)允许你find要连接的IP地址; https://stackoverflow.com/a/31328031/1811501
- dockerfile中的node.js无法通过mongoose连接到mongolabs:getaddrinfo ESRCH
- 我如何设置nodejs并将其表示为数字海洋上的docker容器?
- 节点Docker图像支持节点 – 和谐
- Docker – Node.js + MongoDB – “错误:无法连接到”
- 无法将debugging器附加到Docker Node 8.9.x
- 当在Docker for Windows上安装node-sass时,npm系统调用符号链接错误-95
- Docker Node JS设置env
- 在docker集装箱中无法访问装入的卷
- 如何使用基于Node.js映像的Docker容器encryption