2017-08-29 46 views
0

我創建了一個debian虛擬機以讓我的docker主機運行。如何將Docker端口2375從virtualbox轉發到主機操作系統窗口10

netstat的

TCP 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 1260/dockerd

,我設置端口轉發端口2375後在許多網上描述教程。

enter image description here

接下來我curl在我的Windows 10主機操作系統的CMD。

C:\Users\me>curl localhost:2375 
curl: (56) Recv failure: Connection was reset 

請注意,連接到虛擬機的SSH端口正在工作。

C:\Users\me>curl localhost:666 
SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u1 
Protocol mismatch. 

有人能告訴我我錯過了什麼嗎?我是否需要在允許端口2375從默認允許SSH端口的外部調用?

回答

1

問題出在您的docker偵聽IP。

tcp 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 1260/dockerd 

127.0.0.1表示它只監聽VM內部生成的連接。

您應該更改您的docker守護程序以使用0.0.0.0:2375。那麼你的端口轉發將工作

+0

會嘗試 - 0.0.0.0:2375究竟代表什麼?沒有那麼多的網絡背景 – xetra11

+0

當你使用'0.0.0.0'時,它意味着監聽可用的接口。所以如果你的VM有多個以太網接口,那麼它將在每個接口上進行監聽。當您的主機訪問虛擬機時,它是一個外部流量。而'127.0.0.1'是本地環回地址。指向機器的上下文 –

+0

啊好的! '10.0.2.15'是虛擬機實際擁有的地址 - 所以我嘗試了'0.0.0.0'的原版,並且它也能工作。 – xetra11

相關問題