docker中的nginx无法与本地主机通信
目标是:docker中的nginx无法与本地主机通信,docker,nginx,Docker,Nginx,目标是: 为所有请求返回相同的index.html 除了路径名从“/api”(例如localhost/api/asd)开始的情况外,在这种情况下,将此请求转发给在localhost:8080上运行的应用程序 我在ubuntu上运行nginx就成功地完成了这个任务。但当我在docker容器中尝试相同的方法时,每个“/api”请求都会得到502: 2019/11/03 14:35:39[错误]6#6:*22 connect()失败(111:Connection 拒绝)连接到上游时,客户端:172.1
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 1a0b306a3a80
注释“172.17.0.2”,而非“172.17.0.1”
我正在运行的Dockerfile和nginx配置可以在这里找到:
映像的构建和运行方式如下:
sudo docker build-t节奏vs用户界面
sudo docker run-P80:80临时用户界面
我做错了什么?如何使docker映像将请求发送到本地主机:8080?快速应答:使用附加参数运行docker网络:
docker run -p 80:80 --network=host tempvs-ui
问题是docker(主机)服务器和docker容器中的localhost
不一样。在当前实现中,重定向发生在docker容器内部。而您的目标应用程序在主机上运行。这就是出现连接被拒绝错误的原因。
文档:,.nginx在80上运行的第一件事,那么8080上的u服务器如何在同一个容器中运行呢?两个过程?第二件事是您的nginx配置和错误看起来不匹配
http://127.0.0.1:8080/api;
,似乎您的8080
容器已关闭谢谢!我忽略了容器中的localhost与我的独立nginx不同这一事实。你建议的那个情人很有魅力!