docker创建的nginx容器怎么反向代理docker外面本机的ip端口

docker创建的nginx容器 nginx反向代理如何配置才能让nginx反向代理到 本机的localhost:3000

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

小白求解

阅读 5.5k
2 个回答
  • 获取你本地的ip
ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'
  • 然后通过docker run的参数 --add-host 进行添加
docker run --add-host localnode:$(ifconfig en0 | grep inet | grep -v inet6 | awk '{print \$2}') ...
  • 最后在你nginx配置文件中的proxy_pass用localnode而不是localhost,即
location / {
        proxy_pass http://localnode:3000;
    }

nginx解决的是外部访问nginx所在主机的端口映射问题,所以通过配置nginx解决不了你的问题。应该使用docker的端口映射来完成。

这个nginx解决不了,应该使用docker的端口映射:

    ports:
      - "3000:nginx设置的端口"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题