2015-10-16 47 views
0

我試圖在我的運行Yosemite的Mac OSX上使用Vagrant運行我們的構建服務器(Jenkins)的本地設置。我一直在環顧四周,我已經看到服務必須監聽所有接口(0.0.0.0或者::: :)的要求。如何從Mac OSX連接到Vagrant中的服務器?

我有Vagrant啓動和運行,詹金斯也運行。以下是sudo netstat -tulpn輸出:

tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  965/sshd   
tcp  0  0 0.0.0.0:57349   0.0.0.0:*    LISTEN  653/rpc.statd 
tcp  0  0 0.0.0.0:111    0.0.0.0:*    LISTEN  591/rpcbind  
tcp6  0  0 :::22     :::*     LISTEN  965/sshd   
tcp6  0  0 :::57689    :::*     LISTEN  2205/java  
tcp6  0  0 :::35586    :::*     LISTEN  2205/java  
tcp6  0  0 :::33991    :::*     LISTEN  653/rpc.statd 
tcp6  0  0 :::111     :::*     LISTEN  591/rpcbind  
tcp6  0  0 :::8080     :::*     LISTEN  2205/java  
udp  0  0 0.0.0.0:111    0.0.0.0:*       591/rpcbind  
udp  0  0 0.0.0.0:60038   0.0.0.0:*       653/rpc.statd 
udp  0  0 0.0.0.0:6057   0.0.0.0:*       496/dhclient  
udp  0  0 0.0.0.0:765    0.0.0.0:*       591/rpcbind  
udp  0  0 127.0.0.1:829   0.0.0.0:*       653/rpc.statd 
udp  0  0 0.0.0.0:68    0.0.0.0:*       496/dhclient  
udp6  0  0 :::111     :::*        591/rpcbind  
udp6  0  0 :::57046    :::*        653/rpc.statd 
udp6  0  0 :::5353     :::*        2205/java  
udp6  0  0 :::765     :::*        591/rpcbind  
udp6  0  0 :::52531    :::*        496/dhclient  
udp6  0  0 :::33848    :::*        2205/java 

詹金斯正在偵聽端口8080,並聽取::::(IPv6的全部)。我可以curl localhost:8080並得到響應,而虛擬機內部,而是從我的主機我得到如下:

* Rebuilt URL to: localhost:8080/ 
* Trying ::1... 
* connect to ::1 port 8080 failed: Connection refused 
* Trying 127.0.0.1... 
* Connected to localhost (127.0.0.1) port 8080 (#0) 
> GET/HTTP/1.1 
> Host: localhost:8080 
> User-Agent: curl/7.43.0 
> Accept: */* 
> 
* Empty reply from server 
* Connection #0 to host localhost left intact 
curl: (52) Empty reply from server 

我還試圖讓Java來使用IPv4,這樣的監聽地址的地址綁定然而0.0.0.0我得到相同的結果。

以下是我/etc/hosts文件的輸出:

127.0.0.1 localhost 

# The following lines are desirable for IPv6 capable hosts 
::1 ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 
ff02::3 ip6-allhosts 

從我到目前爲止一切都讀的是安裝理所應當的,但我一定是做錯了什麼。你們能幫我搞定嗎?

如果您需要了解更多信息,請讓我知道,我會在這裏發佈。

乾杯, Alexei Blue。

回答

1

你從客戶需要forward port到主機,以便在您的Vagrantfile添加此

config.vm.network "forwarded_port", guest: 8080, host: 8080 

確保通過vagrant reload重新載入你的虛擬機採取生效,你就可以從你的主機

訪問
+0

我感到非常愚蠢,因爲在發佈問題並重新查看netstat輸出後,大約2秒後我得出了相同的結論。所以是的,我已經開始在端口8080詹金斯,但我沒有轉發端口通過我的主機哈哈。謝謝你的回答弗雷德裏克,我做了改變,然後運行流浪漢重新加載 - 配置,以確保一個乾淨的構建。 –

+0

發生這種事:) –