2016-08-24 3 views
0

Я получаю ошибки таймаута из моего приложения Java (Spring Boot), которое использует MongoDB, соединение работает, когда я запускаю банку, однако, когда она находится в Dockerized, время соединения заканчивается. Я не уверен, что я просто ничего не настраиваю с помощью Docker?Docker Java Image не может подключиться к Docker Mongo

+0

Как контейнер, подключенный к MongoDb? используя имя хоста или ip? ip доступен внутри контейнера, используя 'nc' или' ping'? –

+0

Я запускаю оба этих локально. Имя хоста - localhost, так как оно локально. Я не уверен, как узнать, доступен ли он в контейнере докеров. –

+0

используйте команду 'docker exec -it {container_id}/bin/bash', чтобы войти в контейнер. затем запустите ping на ваш IP-адрес localhost в вашей сети (это не 127.0.0.1) и посмотрите, как он реагирует. –

ответ

0

Используйте опцию запуска в --link Docker легко подключить к Монго контейнер с указанным именем хоста

+0

Частично это был ответ, другой части мне нужно было определить ip изображения, как описано здесь: http://stackoverflow.com/a/31743006/5294769 –

0

Если ваше приложение для подкачки Spring Boot использует «localhost», чтобы попытаться подключиться к докционированному экземпляру Mongo, оно будет терпеть неудачу, потому что «localhost» в этом контексте относится к контейнеру (тот, который запускает приложение Spring Boot, которое не работает Mongo).

Если имя вашего контейнера Монго является «Монго» вы можете найти IP-адрес докер сети этого контейнера с

$ docker inspect mongo | grep IPAddress 

Тогда вы должны быть в состоянии настроить Spring загрузочного контейнер для подключения к Монго в это адрес.

+0

Нет IP-адреса –

Смежные вопросы