我试图摆脱在我的配置中的废弃码头链接。剩下的就是在我重新创建容器时消除那些Bad Gateway nginx反向代理错误。
注意:我使用的是桥接模式的码头网络。(docker network create nettest)
我在nginx中使用以下配置片段:
location / {
resolver 127.0.0.1 valid=30s;
set $backend "http://confluence:8090";
proxy_pass $backend;confluence的容器,名称为nettest。nettest上启动了nginx容器。confluence。confluence列在nginx容器的/etc/hosts文件中。send() failed (111: Connection refused) while resolving, resolver: 127.0.0.1:53/etc/resol.conf中的docker网络默认dns解析器/etc/resol.conf。confluence could not be resolved (3: Host not found)有人知道如何用Docker网络配置nginx解析器,或者如何强制Nginx正确解析Docker网络主机名?
发布于 2016-06-06 11:54:22
首先,您应该在127.0.0.11上使用Docker服务器。
您的问题可能是由以下其中之一引起的:
resolver配置指令。在我的例子中,我从server块resolver 8.8.8.8 8.8.4.4;到Mozilla的SSL配置生成器,它在http块中覆盖resolver 127.0.0.11;。让我挠了很久的头.发布于 2017-12-05 09:24:10
也许你应该检查你的容器的/etc/resolv.conf
它将显示容器的正确DNS配置,然后使用DNS服务器IP作为解析器。
127.0.0.11不适用于牧场
发布于 2021-04-09 21:10:33
我运行“节点:12.18-阿尔卑斯”的角度前端,并遇到了同样的问题与proxy_pass。
在当地,它正在与以下方面合作:
resolver 127.0.0.11;就这么简单!只需执行:
$ cat /etc/resolv.conf | grep nameserver在您的容器中获取这个ip地址。
然而,当部署到kubernetes (AWS EKS)时,我得到了相同的错误:
failed (111: Connection refused) while resolving, resolver: 127.0.0.11:53解决方案:
第一个解决方案是查找kube服务的IP,如下所示:
$ kubectl get service kube-dns -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 172.20.0.10 <none> 53/UDP,53/TCP 178d简单地用IP代替集群-IP就像一种魅力。
稍后,经过更多的文档挖掘之后,我发现我可以按名称引用服务(这稍微更优雅和更有弹性):
resolver kube-dns.kube-system valid=10s;https://stackoverflow.com/questions/35744650
复制相似问题