上游问题Docker-NGINX / Pinging容器

时间:2019-05-02 08:49:18

标签: docker nginx jwilder-nginx-proxy docker-network

我需要一些帮助来解决Docker Network的问题并在彼此之间访问容器。

首先,让我介绍一下我基于Ubuntu和本地安装的Docker环境的简单Docker环境。

我创建了一个额外的网络来链接多个容器。该网络中的容器具有固定的IP4网络地址。因此,他们应该能够彼此了解和访问。

在这些网络的前面,我已经设置了NGINX代理以从外部访问这些容器。 NGINX被分配给每个网络以及桥网络。

好吧...一切都很好并且可以工作,但是有时我遇到一些容器无法到达的问题,我在nginx日志中收到以下错误:

2019/05/02 07:39:26 [error] 37#37: *29825 connect() failed (113: No route to host) while connecting to upstream, client: 213.182.2.102, server: ####.###.works, request: "GET /favicon.ico HTTP/2.0", upstream: "http://172.19.0.26:80/favicon.ico", host: "####.###.works", referrer: "https://####.###.works/preview/index.html?url=https://####.###.works/public/page/4291/preview?2019-04-30%2009:29:53"
2019/05/02 07:39:26 [warn] 37#37: *29825 upstream server temporarily disabled while connecting to upstream, client: 213.182.2.102, server: ####.###.works, request: "GET /favicon.ico HTTP/2.0", upstream: "http://172.19.0.26:80/favicon.ico", host: "####.###.works", referrer: "https://####.###.works/preview/index.html?url=https://fendt-wm-api.geneva.works/public/page/4291/preview?2019-04-30%2009:29:53"

...

结果是无法到达容器,并且没有内容的响应。

要找到问题,我只是尝试从docker-host以及某些容器内部ping IP 172.19.0.26。

PING 172.19.0.26 (172.19.0.26) 56(84) bytes of data.
64 bytes from 172.19.0.26: icmp_seq=1 ttl=64 time=0.180 ms
64 bytes from 172.19.0.26: icmp_seq=2 ttl=64 time=0.067 ms
64 bytes from 172.19.0.26: icmp_seq=3 ttl=64 time=0.067 ms
From 172.19.0.14 icmp_seq=1 Destination Host Unreachable
64 bytes from 172.19.0.26: icmp_seq=5 ttl=64 time=0.061 ms
From 172.19.0.14 icmp_seq=4 Destination Host Unreachable
From 172.19.0.14 icmp_seq=6 Destination Host Unreachable
64 bytes from 172.19.0.26: icmp_seq=8 ttl=64 time=0.131 ms

在所有尝试中,我都想知道为什么从172.19.014而不是172.19.0.26回答了所请求的ping吗?

我认为这是有时无法访问容器的关键问题。

我现在花了几天时间进行调查研究。我还搜索了stackoverflow,但没有找到适合我问题的解决方案。

有人知道这里会发生什么吗?

BR 马库斯

0 个答案:

没有答案