我正在尝试运行以错误结束的 Flask 应用程序。如果我追溯发生的事情,我可以使用以下 iPython 命令重现问题:
In [14]: import socket
In [15]: s = socket.socket()
In [16]: s.connect(('rabbitmq', 5672))
---------------------------------------------------------------------------
gaierror Traceback (most recent call last)
<ipython-input-16-71a261d976b3> in <module>()
----> 1 s.connect(('rabbitmq', 5672))
/usr/lib/python2.7/socket.pyc in meth(name, self, *args)
226
227 def meth(name,self,*args):
--> 228 return getattr(self._sock,name)(*args)
229
230 for _m in _socketmethods:
gaierror: [Errno -3] Temporary failure in name resolution
我找不到很多关于“名称解析暂时失败”的根本原因的文档。该问题的一个可能原因是我试图在本地运行该应用程序,而它通常是在 docker-compose 环境中初始化的。知道是什么导致了这个错误吗?
最佳答案
gaierror = Get Aaddress Info Error
名称解析暂时失败 = 没有已知的 DNS 能够响应 rabbitmq 域的 IP 地址。
我猜你不希望这是一个真正的域名。将 rabbitmq
主机的条目放入 /etc/hosts
。
或者改变:
s.connect(('rabbitmq', 5672))
进入:
s.connect(('IP.OF.RABBITMQ.SERVER', 5672))
当然,我指的是真实 IP,而不是我放在那里用于解释的虚拟字符串。
关于python - "gaierror: [Errno -3] Temporary failure in name resolution"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40238610/