2015-08-25 71 views
2

我們正在嘗試使用放浪運行在Mac上使用此Vagrantfile如何訪問Redis的運行在流浪虛擬機

一個Redis的服務器(使用Ubuntu的客戶機操作系統)可悲的是,我們無法訪問裏面的Redis的數據庫流浪者箱子。

我們得到這個錯誤:

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

這是VirtualBox的虛擬機的網絡配置:

vagrant ports

什麼其他我們需要添加到Vagrantfile到將Redis暴露給Mac?

(注:使用流浪的原因是既讓人們嘗試Redis的,而不必對他們的主操作系統上安裝它,但更重要的是保證了應用程序運行的其他元素如預期)

+0

五味這就是他們使用的'127.0.0你的流浪漢框。1'作爲私人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中的本地端口,以便可以在主機上訪問(蘋果在你的情況)。

此外,根據您嘗試訪問Redis的方式,您可以在主機(Mac)上配置SSH隧道,以訪問Vagrant VM中的Redis服務器。我結束了去我的情況下連接到Vagrant虛擬機內部的Redis的路由,以使用ember-cli和ember-cli部署的Ember JS應用的本地開發ember-cli-deploy-redis

0

我碰巧在Docker容器中運行Redis除了Vagrant設置。一次又一次地遇到這個問題,我想添加我的發現。

事實上確保綁定到網絡設備是0.0.0.0而不是127.0.0.1是必不可少的。因爲我運行的泊塢我不得不確保容器正常運行:

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

屆時,除了已知的流浪配置:

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

,瞧:使用一個流浪虛擬機中運行的Redis Docker,可以從Mac OSX主機系統訪問它。

這不會改變Redis配置,因爲Docker負責這個。

+0

我知道這是舊的,但我無法啓動碼頭圖像與您的命令(去狀態退出)。是否因爲圖像現在已經更新並且端口是自動綁定的?你有一個dockerfile的副本嗎? – AshwinKumarS

+0

嗨@ 0v3rc10ck3d,抱歉的延遲。自從項目暫停後,我無法立即檢查。但是,您可能會發現dockerhub上的信息很有用:https://hub.docker.com/_/redis/ – jhohlfeld

+0

謝謝@jhohlfeld,我找到了另一種方式:) – AshwinKumarS

0

你可以給一個私密的IP給流浪箱,然後使用私有IP訪問redis。

例如,假設您想將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

相關問題