
如果您将VirtualBox驱动程序与docker-machine一起使用以在Mac上运行Docker VM,则可以将端口从Mac转发到VM,如下所示:
VBoxManage controlvm myvirtualmachine natpf1 'myapp,tcp,,4505,,4505'
让我们分解一下:
- VBoxManage 是控制VirtualBox的可执行文件的名称。
- controlvm 告诉VirtualBox,您是在告诉VM(而不是VM管理器)做某事。
- myvirtualmachine 是您的Docker VM的名称(您可以通过运行来找到它
docker-machine ls
)。 - natpf1 告诉VM转发一个NAT端口。这就是魔术开始发生的地方。
- ‘myapp,tcp ,, 4505,,4505’ 是 natpf1 的参数列表:
- myapp 是端口转发规则的名称。它是可选的。
- tcp 是您要转发的流量类型。另一个选项是 udp
- 此时,主机IP仍有空间,但是您可以将其留空。
- 4505 是Mac上您要接收流量的端口。这是您要提供给网络上其他主机的端口号。
- 此时有一个来宾IP的空间,但是您可以将其留空。
- 第二个 4505 是Docker VM上您要接收流量的端口。您可以将其更改为所需的任何值,而不会影响第一个端口。您只需要更改从Docker容器公开的端口即可。
您可以在https://www.virtualbox.org/manual/ch08.html#vboxmanage-
controlvm上找到此命令的官方文档。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)