使用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:
上述限制的原因是因为我用docker
和docker-machine
使用dinghy
。 如果我将networking更改为NAT
以外的其他设备,则安装将会中断。 此外,我不能使用localhost
以外的东西,因为这些是应用程序的默认值,我需要他们沟通,就好像他们在主机上运行。
可能的select:
-
使用ssh -R设置SSH隧道,请参阅https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work
-
在vm上设置Nginx或Apache反向代理将stream量转发给主机。
-
强制虚拟机将localhost添加到/ etc / hosts文件(这可能会破坏其他可能取决于本地主机为127.0.0.1的服务)