Docker, Mongodb, весенняя загрузка в Windows, ошибка отказа в подключении

#spring #mongodb #spring-boot #docker

#spring #mongodb #весенняя загрузка #docker

Вопрос:

Я использую образ docker MongoDB по умолчанию и пытаюсь подключиться с помощью простого приложения Spring Boot в Windows box.

Изображение MongoDB просматривается правильно

введите описание изображения здесь

IP в образе MongoDB
введите описание изображения здесь

У меня есть spring-boot-starter-data-mongodb в моем пути к классу. я использую всю весеннюю загрузку по умолчанию и использую только приведенное ниже свойство в application.properties.

 spring.data.mongodb.host=192.168.99.100
  

При запуске приложения ошибка отказа в подключении: ошибка подключения

Журналы

 019-03-06 06:15:06.096  INFO 4664 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[192.168.99.100:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2019-03-06 06:15:06.096  INFO 4664 --- [           main] org.mongodb.driver.cluster               : Adding discovered server 192.168.99.100:27017 to client view of cluster
2019-03-06 06:15:06.356  WARN 4664 --- [           main] o.s.d.m.c.m.BasicMongoPersistentProperty : Customizing field name for id property not allowed! Custom name will not be considered!
2019-03-06 06:15:06.928  INFO 4664 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-03-06 06:15:07.164  INFO 4664 --- [68.99.100:27017] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server 192.168.99.100:27017
  

Чего мне здесь не хватает?

Комментарии:

1. Есть ли у вас файл для подключения с помощью командной строки или compass?

2. Спасибо за проверку, я новичок в Mongo и docker. Как я могу это проверить?

3. Здесь у вас есть инструкции docs.mongodb.com/manual/mongo

4. Да, я могу подключиться с помощью командной строки

5. Возможно, в mongod.conf вам нужно изменить bind_ip = 0.0.0.0. По умолчанию используется localhost

Ответ №1:

Говорит не эксперт по MongoDB, а обычный пользователь Docker: Похоже, вы не публикуете порт, который MongoDB запускает по умолчанию: 27017. Вот почему ваше приложение Spring не смогло установить соединение и выдает это исключение:

 Exception in monitor thread while connecting to server 192.168.99.100:27017
  

Итак, вы можете попробовать опубликовать порт с помощью -p 27017:27017 при инициализации контейнера mongo.