错误:getaddrinfo EAI_AGAIN(码头工人,nginx)

时间:2018-11-20 19:08:22

标签: docker nginx docker-compose

我知道此错误与DNS查找超时错误有关,这意味着它是网络连接错误或与代理相关的错误。 但是我不知道如何解决。

我使用docker-compose.yml,里面有3个容器。

这是我的docker-compose.yml。作为链接

docker-compose.yml

我创建了2个网络来划分内部和内部网络。来自客户端的所有请求都通过Nginx,port:8090进行访问,该Nginx仅暴露于Internet。

问题是,当我从API容器(内部网络)发送验证用户的请求时,收到错误消息“ getaddrinfo EAI_AGAIN exampleAuth.auth0.com:443”。

这是我到目前为止一直在尝试的

  • 我试图在docker demon中添加DNS 8.8.8.8
  • 从API容器中ping 8.8.8.8(无效)
  • 从Nginx容器ping 8.8.8.8(确实有效)
  • 在内部和默认网络之间找到
  • ping

你们有什么主意吗?

3 个答案:

答案 0 :(得分:0)

在我的Dockerbuild alpine中更改为舒展(debian),已经解决了您的类似问题。

答案 1 :(得分:0)

运行npm install时,我在高山容器中遇到了相同的问题。就我而言,网络已发生变化,停止并重新启动容器解决了该问题。

docker-compose down
docker-compose up

来源:https://github.com/moby/moby/issues/32106

答案 2 :(得分:0)

我遇到了同样的问题。解决方案是将 DNS 添加到 daemon.json。 除非您在机器上重新启动 docker,否则此解决方案不会生效。因此,要解决此问题,必须重新启动。