MongoDB на Vagrant через порт переадресации

Я недавно установил mongodb на моей CentOS 6 VM, работающей на Vagrant.

Я добавил переадресацию портов в Vagrantfile для переадресации порта Монго

config.vm.forward_port 27017, 127017

Я настроил mongod для автоматического запуска при запуске сервера и подтвердил, что служба запускается как задумано.

Однако, когда я бегу mongo localhost:127017 с моего хоста (не бродячего) я получаю следующую ошибку

MongoDB shell version: 1.8.2
connecting to: localhost:127017/test
Fri Jan 20 13:58:28 getaddrinfo("127.0.0.1") failed: nodename nor servname provided, or not known
Fri Jan 20 13:58:28 Error shell/mongo.js:81
exception: connect failed

есть идеи?

4 ответа

Решение

Номера портов TCP 16-битные без знака, что означает максимальное значение 65535 (2^16), и вы пытаетесь с 127017.

Вам необходимо установить mongod bind_ip в 0.0.0.0 вместо 127.0.0.1 (который является адресом обратной связи), чтобы все интерфейсы могли получить к нему доступ.

Можете ли вы подключиться к серверу Монго из vagrant ssh? Если нет, вы можете убедиться, что mongod работает.

У тебя есть ip_bind установить в вашем mongodb.conf или скрипте запуска mongod? (Если вы это сделаете, вы можете отключить его - не совсем точно знаете, как работает перенаправление портов vagrant, но это может быть причиной проблемы.)

bind_ip to 0.0.0.0 не работает. Пытаться bind_ip=127.0.0.1,10.0.0.25, that worked for me.

Другие вопросы по тегам