2016-04-24 80 views
6

我有一個碼頭容器,託管在南希編寫的web api。下面是當容器首次發射了一個web請求之後出現異常:Docker nancy - 沒有路由到主機

4/22/2016 2:40:50 PM at API.SearchModule+<SearchModule>c__AnonStorey0.<>m__0 (System.Object _) <0x41380aa0 + 0x00850> in <filename unknown>:0 
    4/22/2016 2:40:50 PM at (wrapper dynamic-method) System.Object:CallSite.Target (System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,System.Func`2<object, object>,object) 
    4/22/2016 2:40:50 PM at Nancy.Routing.Route+<>c__DisplayClass4.<Wrap>b__3 (System.Object parameters, CancellationToken context) <0x4133d350 + 0x00166> in <filename unknown>:0 
    4/22/2016 2:40:50 PM2016-04-22 13:40:50,177 ERROR: System.Net.WebException: Error: ConnectFailure (No route to host) ---> System.Net.Sockets.SocketException: No route to host 
    4/22/2016 2:40:50 PM at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) <0x41374320 + 0x001b8> in <filename unknown>:0 
    4/22/2016 2:40:50 PM at System.Net.WebConnection.Connect (System.Net.HttpWebRequest request) <0x41372b50 + 0x00609> in <filename unknown>:0 

該應用程序查詢elasticsearch當Web請求時,起初我還以爲是吹起來,因爲它不能找到彈性(另一個碼頭集裝箱),但是,如果我停止彈性,這似乎不是本地的情況下,API將繼續提供請求,儘管它會拋出異常。一旦彈性恢復在線,api將繼續爲這次的請求提供服務,無一例外。

奇怪的是,如果碼頭容器重新啓動,對api的web請求在查詢彈性時成功。

有無論如何我可以在本地複製這個問題,所以我可以嘗試修復?我曾想過,如果我使用彈性離線在本地運行它,我會得到相同的錯誤,但是這似乎並不是這種情況,這使得我認爲這是某種網絡連接問題。

你們認爲這可能是什麼?

+0

您是否使用泊塢窗鏈接功能來鏈接應用程序和elasticsearch容器?如果是的話,你如何通過環境變量或主機名連接到彈性? – jazgot

+0

你使用的是什麼版本的碼頭?在哪個主機上? – VonC

+0

撰寫文件的內容(如果使用的話)以及您用來運行容器的命令。 – johnharris85

回答

相關問題