“gaierror: [Errno -3] 临时名称解析失败” 的意思是什么?

16

我试图运行一个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环境中初始化的。有什么想法是什么导致了这个错误吗?

1个回答

17

gaierror = Get Address Info Error

Temporary failure in name resolution = DNS服务器无法响应rabbitmq域名的IP地址查询请求。

我猜您没有期望此为真实域名。请在/etc/hosts中添加rabbitmq主机的记录。

或者更改:

s.connect(('rabbitmq', 5672))

转化为:

s.connect(('IP.OF.RABBITMQ.SERVER', 5672))

当然我指的是真实的IP地址,而不是我在说明中放置的虚假字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接