2016-10-25 6 views
1

エラーで終了するFlaskアプリケーションを実行しようとしています。私は何が起こっているかをトレースバックした場合、私は次のようiPythonで問題を再現できるコマンド:"gaierror:[Errno -3]名前解決の一時的な失敗"の意味は何ですか?

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 

私は、「名前解決での一時的な障害」のための基礎となるの理由で多くのドキュメントを見つけることができませんでした。問題の原因の1つは、アプリケーションをローカルで実行しようとしているのに対し、通常はドッカー作成環境では初期化されているということです。このエラーの原因は何ですか?

答えて

5

gaierror = G名前解決 =は知られていないDNSで ddress INFOエラー

一時的な障害がのRabbitMQのIPアドレスを使用して答えることができましたドメイン。

これは実際のドメイン名ではないと思います。ホストrabbitmqのエントリを/etc/hostsに入れてください。

代わり変更:

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

をへ:

もちろん
s.connect(('IP.OF.RABBITMQ.SERVER', 5672)) 

私は本当のIPと私は説明のためにそこに入れないダミーの文字列を意味します。

関連する問題