2016-08-24 133 views
0

我從使用MongoDB的Java應用程序(Spring Boot)中獲取超時錯誤,當我運行jar時,連接工作,但是當它被Docker化時,連接超時。我不確定如果我只是沒有正確配置Docker的東西?Docker Java Image無法連接到Docker Mongo

+0

連接到您的蒙戈容器?使用主機名或IP?是使用'nc'或'ping'在容器內訪問的ip? –

+0

我在本地運行這兩個。主機名是localhost,因爲它是本地的。我不確定如何查看它是否可以在碼頭集裝箱內訪問。 –

+0

使用命令「docker exec -it {container_id}/bin/bash」進入容器。然後在網絡上運行ping到本地主機的ip(它不是127.0.0.1)並查看它是如何響應的。 –

回答

0

使用--link泊塢窗運行選項能夠輕鬆地與容器是如何連接到MongoDB的您指定的主機名

+0

這部分是答案,另一部分是我需要定義的圖像的IP,然後在這裏概述:http://stackoverflow.com/a/31743006/5294769 –

0

如果您的dockerized Spring Boot應用程序使用'localhost'嘗試連接到dockerized Mongo實例,它將會失敗,因爲該環境中的'localhost'引用容器(運行Spring Boot應用程序的那個容器沒有運行Mongo)。

如果蒙戈容器的名稱是「蒙戈」你可以找到

$ docker inspect mongo | grep IPAddress 

該容器的泊塢窗網IP地址,那麼你應該能夠配置你的Spring引導容器連接在到蒙戈那個地址。

+0

沒有IP地址 –