微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用nginx docker容器访问localhost上的服务器?

如何解决如何使用nginx docker容器访问localhost上的服务器?

你可以得到你当前的IP地址,如图这里:

ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'

然后,您可以将--add-host标志用于docker run

docker run --add-host localnode:$(ifconfig en0 | grep inet | grep -v inet6 | awk '{print \$2}') ...

在您proxypass使用localnode而不是localhost

解决方法

我正在尝试将nginx的dockerized版本用作我的节点(ExpressJS)应用程序的代理服务器。没有对nginx进行任何配置并为容器发布端口80,我可以看到默认的nginx登陆页面。所以我知道很多工作。

现在,我可以挂载包含站点配置的启用站点的目录proxy_pass localhost:3000。我的节点应用程序在本地运行(不在任何Docker容器中),并且可以通过端口3000(即localhost:3000)访问它。但是,我假设在运行nginx容器,映射到端口80并代理我的localhost:3000的情况下,我将能够看到
非常 简单的(hello world)应用程序。相反,我收到了502。

我需要将某些东西传递给Docker吗?这可能是Nginx配置错误吗?这是我的nginx配置:

server {
  listen 0.0.0.0:80;
  server_name localhost;

  location / {
    proxy_pass http://localhost:3000;
  }
}

我尝试使用此问题,但似乎没有帮助。除非我做的事情完全错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。