2015-08-25 4 views
2

Мы пытаемся использовать Vagrant для запуска сервера Redis на Mac (с помощью Ubuntu гостевой ОС) с этим VagrantfileКак получить доступ к Redis работает в Бродячей виртуальной машине

К сожалению, мы не может получить доступ к базе данных Redis внутри Бродячий ящик.

Мы получаем эту ошибку:

Error: Redis connection to 127.0.0.1:6379 failed - read ECONNRESET

Это конфигурация сети в VirtualBox VM:

vagrant ports

Что еще нам нужно добавить к Vagrantfile в выставить Redis на Mac?

(Примечание: причина использования Vagrant одновременно, чтобы позволить людям попробовать Redis без необходимости устанавливать его на своей основной ОС, но что более важно, чтобы гарантировать, что другие элементы приложения перспективе, как ожидается)

+0

ее неверного Thats они используют '127.0.0.Как частный IP, я думаю, что Vagrant предложит вам предупредительное сообщение, это не очень безопасно - удалите эту строку или замените ее собственным IP-адресом по вашему выбору, должен работать –

ответ

1

Это может быть полезным https://serverfault.com/questions/248248/cannot-connect-to-redis-installed-on-virtualbox-running-ubuntu-from-windows-7. Я знаю, что вопрос заключается в подключении к Windows, но решение в основном является модификацией конфигурации Redis в виртуальной машине, чтобы не связывать Redis только с локальным портом в redis.conf, чтобы он мог быть доступен на главной машине (Mac в вашем случае).

Кроме того, в зависимости от того, как вы пытаетесь получить доступ к Redis, вы можете настроить туннель SSH на главной машине (Mac), чтобы получить доступ к серверу Redis в Vagrant VM. Я закончил этот маршрут для моего случая, чтобы подключиться к Redis внутри Vagrant VM для локальной разработки приложения Ember JS с использованием ember-cli и ember-cli с использованием ember-cli-deploy-redis

0

Я случайно запустил Redis в контейнере Docker в дополнение к настройке бродяг. Повторяя этот вопрос снова и снова, я хочу добавить свои выводы.

Действительно, обязательным условием привязки к сетевым устройствам является 0.0.0.0 вместо 127.0.0.1. Так как я бегу Docker я просто должен был убедиться, что контейнер правильно запустить:

docker run -d redis -p 0.0.0.0:6379:6379 redis 

Затем, в дополнение к известной конфигурации Vagrant:

config.vm.network :forwarded_port, guest: 6379, host: 6379 

и вуаля: бег Redis в Бродячей VM с помощью Docker, способный получить доступ к нему из хост-системы Mac OSX.

Это без изменения конфигурации Redis, поскольку Docker позаботится об этом.

+0

Я знаю, что это старый, но я не могу загрузить изображение докеры с вашей командой (идет к выходу статуса). Это потому, что изображение обновлено сейчас, и порты привязаны автоматически? У вас есть копия файла docker? – AshwinKumarS

+0

Привет @ 0v3rc10ck3d, извините за задержку. Я не могу проверить прямо сейчас, так как проект уже не работает. Однако вы можете найти информацию на dockerhub полезной: https://hub.docker.com/_/redis/ – jhohlfeld

+0

Спасибо @jhohlfeld, я понял другой выход :) – AshwinKumarS

0

Вы можете предоставить частный IP-адрес коробке Vagrant, а затем получить доступ к redis с помощью частного IP-адреса.

Например, можно сказать, что вы хотите настроить 192.168.33.10, как вы Vagrant box IP. Просто добавьте эту строку в файл Vagrant.

Vagrant.configure(2) do |config| 
    config.vm.network 'private_network', ip: '192.168.33.10' 
end 

Теперь и может получить доступ к бродячему окну с помощью 192.168.33.10

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