2015-09-28 74 views
0

當我們的應用程序調用java.net.InetAddress.getLocalHost()時,我們遇到UnknownHostException。只有當我們的Docker鏡像(由registry.ng.Bluemix.net/ibmliberty構建)運行於Bluemix時,纔會看到此問題。在非Bluemix主機上運行相同的容器會從該方法獲得成功的響應。儘管大部分調用位置都將此值用於信息目的,而/ etc/hostname保存容器的實例名稱,但我們不希望編寫特殊代碼來查看該文件。希望是使用Bluemix擴展組可以解決此問題,因爲它需要一個--hostname =參數,但它不會。UnknownHostException only on Bluemix

由於只有在Bluemix中運行時纔會出現這種情況,因此這似乎是Bluemix如何實例化其映像時的一個問題。

這是一個已知的問題,並有計劃解決它嗎?或者當我們調用可以解決此問題的圖像時,我們可以採取哪些措施?

這裏的堆棧跟蹤片段:

Caused by: 
    java.net.UnknownHostException: instance-00024443: Name or service not known 
     at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:1021) 
     at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1432) 
     at java.net.InetAddress.getLocalHost(InetAddress.java:1649) 
     ... 38 more 

回答

0

有許多的known issues與網絡不創建容器後,立即響應。你可以嘗試延遲這個電話六十秒,看看這是否能解決這個問題?

+0

謝謝詹姆斯。我剛剛嘗試過,但沒有改變任何行爲。我沒有想到它能夠工作,因爲我們有後臺任務週期性地使這個調用失敗(在啓動後) - 但我想要消除這種可能性,也許我們正在初始化某些東西(到一個糟糕的持久狀態)早期通話。 –