2016-08-24 135 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地址 –