我知道此错误与 DNS 查找超时错误相关,这意味着它是网络连接错误或代理相关错误。 但我不知道如何解决它。
我使用 docker-compose.yml ,里面有 3 个容器。
这是我的 docker-compose.yml。作为链接
我创建了2个网络来划分外部和内部网络。客户端的所有请求都通过 Nginx,端口:8090,仅暴露于互联网。
问题是,当我从 API 容器(内部网络)发送验证用户的请求时,收到错误消息“getaddrinfo EAI_AGAIN exampleAuth.auth0.com:443”。
这是我迄今为止尝试过的
你们有什么想法吗?
澄清一下: 永远不要将 node:alpine 用于网络消耗应用程序。 我遇到了同样的问题,经过几个小时的努力,使用最新的节点解决了这个问题。
将我的 Dockerbuild alpine 更改为stretch-slim (debian) 解决了您的类似问题。
运行 npm install 时,我在 alpine 容器中遇到了同样的问题。就我而言,网络发生了变化,停止并重新启动容器解决了问题。
docker-compose down
docker-compose up
我也面临着同样的问题。解决方案是将 DNS 添加到 daemon.json。 除非您在计算机上重新启动 docker,否则此解决方案不会生效。因此,要解决此问题,必须重新启动。
如果您
getaddrinfo EAI_AGAIN
运行node:alpine
映像,可能是由于Alpine映像的最小性质,因为它有时缺乏网络操作所需的必要库和工具,从而导致问题。
尝试使用更全面的 Node.js 镜像,如
node:slim
或 node:latest
,这些镜像包含更多网络操作经常需要的库和工具。