错误:getaddrinfo EAI_AGAIN(docker,nginx)

问题描述 投票:0回答:5

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

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

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

docker-compose.yml

我创建了2个网络来划分外部和内部网络。客户端的所有请求都通过 Nginx,端口:8090,仅暴露于互联网。

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

这是我迄今为止尝试过的

  • 我尝试在dockeremon中添加DNS 8.8.8.8
  • 从 API 容器 ping 8.8.8.8(不起作用)
  • 从 Nginx 容器 ping 8.8.8.8(它确实有效)
  • 找到内部和默认网络之间的 ping

你们有什么想法吗?

docker nginx docker-compose
5个回答
2
投票

澄清一下: 永远不要将 node:alpine 用于网络消耗应用程序。 我遇到了同样的问题,经过几个小时的努力,使用最新的节点解决了这个问题。


0
投票

将我的 Dockerbuild alpine 更改为stretch-slim (debian) 解决了您的类似问题。


0
投票

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

docker-compose down
docker-compose up

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


0
投票

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


0
投票

如果您

getaddrinfo EAI_AGAIN
运行
node:alpine
映像,可能是由于Alpine映像的最小性质,因为它有时缺乏网络操作所需的必要库和工具,从而导致问题。

尝试使用更全面的 Node.js 镜像,如

node:slim
node:latest
,这些镜像包含更多网络操作经常需要的库和工具。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.