使用docker的Virtualbox端口转发

我在本地运行virtualbox ,并使用像这样的端口转发

 0.0.0.0:7000 -> 0.0.0.0:7000 

所以我可以做

 curl http://localhost:7000 

从主机到虚拟机,并能与vm中运行的应用程序进行通信,并监听7000端口。

是否有可能做出反向? 我想设置一个端口,以便能够

 curl http://localhost:6000 

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

我正在使用NAT

我已经知道桥接networking和使用我的主机的networkingIP。 我不能使用这些。 我感兴趣的是以上。

Exclaimer:

上述限制的原因是因为我用dockerdocker-machine使用dinghy 。 如果我将networking更改为NAT以外的其他设备,则安装将会中断。 此外,我不能使用localhost以外的东西,因为这些是应用程序的默认值,我需要他们沟通,就好像他们在主机上运行。

可能的select:

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

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

  3. 强制虚拟机将localhost添加到/ etc / hosts文件(这可能会破坏其他可能取决于本地主机为127.0.0.1的服务)

Interesting Posts