Ho un contenitore docker che ospita una web API scritta in Nancy. Qui è l'eccezione che si verifica dopo una richiesta Web viene effettuata quando il contenitore viene prima licenziato:Docker nancy - nessuna route per l'host
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
Le query app elasticsearch quando una richiesta web è fatto, inizialmente ho pensato che soffiava su perché non poteva trova elastico (un altro contenitore finestra mobile), tuttavia questo non sembra essere il caso in quanto localmente se smetto elastico l'API continuerà a servire le richieste anche se genererà eccezioni. Una volta che l'elastico è tornato online, l'API continua a servire le richieste questa volta senza eccezioni.
La cosa bizzarra è che se il contenitore finestra mobile viene riavviato nuovamente, le richieste Web contro l'API vengono eseguite correttamente con query elastiche.
Esiste comunque la possibilità di replicare localmente questo problema in modo da poter provare a risolvere un problema? Avevo pensato che se lo avessi eseguito localmente con elastico offline avrei ottenuto lo stesso errore, tuttavia non sembra essere il caso che mi fa pensare che sia una sorta di problema di connettività di rete.
Cosa ne pensate che potrebbe essere?
Si sta utilizzando la funzione link docker per collegare il contenitore app ed elasticsearch? Se sì, come ti connetti a elastico via env vars o hostname? – jazgot
Quale versione della finestra mobile stai usando? Su quale host? – VonC
Invia il contenuto del file di composizione (se si utilizza uno) e i comandi che si stanno utilizzando per eseguire i contenitori. – johnharris85