使用docker转发Virtualbox端口

时间:2016-04-21 21:46:31

标签: docker virtualbox portforwarding dinghy

我在本地运行virtualbox并且我已经像这样使用了端口转发

0.0.0.0:7000 -> 0.0.0.0:7000

这样我才能做到

curl http://localhost:7000

从主机到vm,能够与vm中运行的应用程序通信并侦听端口7000

有可能反过来吗?我想设置一个前进的端口

curl http://localhost:6000

来自我的虚拟机,能够与在主机上运行的应用程序进行通信并侦听端口6000

我正在使用NAT

我已经了解桥接网络以及使用我的主机的网络IP。我无法使用它们。我感兴趣的只是以上内容。

Exclaimer:

上述限制的原因是因为我dinghydockerdocker-machine一起使用。如果我将网络更改为NAT之外的其他设置,则设置将中断。此外,我不能使用除localhost之外的其他内容,因为这些是应用程序的默认设置,我需要它们进行通信,就好像它们在主机上运行一样。

1 个答案:

答案 0 :(得分:1)

可能的选择:

  1. 使用ssh -R设置SSH隧道,请参阅https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work

  2. 在vm上设置Nginx或Apache反向代理以将流量转发到主机。

  3. 强制VM认为localhost是您的主机IP,方法是将其添加到/ etc / hosts文件中(这可能会破坏可能依赖于localhost为127.0.0.1的其他服务)