如果此端口已由主机侦听,如何将端口转发给vagrant guest

时间:2017-05-22 08:52:00

标签: vagrant virtual-machine portforwarding

例如,我有一个动态运行流浪汉机器的应用程序,并期望它们的一些信息将通过http发送到特定的主机端口。所以,我的应用程序监听指定端口(http服务器),我无法转发该端口:

  

C:\ node-vagrant-test-task> vagrant reload   ==> default:清除以前设置的任何转发端口... Vagrant无法转发此VM上的指定端口,因为它们会   与已经在监听这些内容的其他应用程序发生冲突   端口。转发到8080的端口已在主机上使用   机。

     

要解决此问题,请修改当前项目的Vagrantfile以使用另一个   港口。例如,'1234'将被唯一的主机端口替换:

     

config.vm.network:forwarded_port,guest:8080,host:1234

     

有时,Vagrant会尝试为您自动更正此问题。在这   案件,Vagrant无法。这通常是因为客机   处于不允许修改端口转发的状态。你可以   尝试'流浪汉重装'(相当于停止然后停止)   所以vagrant可以在启动时尝试自动更正此问题。被警告   任何未保存的作品都可能丢失。

1 个答案:

答案 0 :(得分:0)

如果您不想弄乱转发端口,最好是为来宾使用静态IP

您可以使用静态IP进行私有或公共网络

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "192.168.50.4"
end

Vagrant.configure("2") do |config|
  config.vm.network "public_network", ip: "192.168.50.4"
end

因此您无需转发8080端口,可以直接在http://192.168.50.4:8080上访问您的应用

如果您需要访问此来宾的主机,可以通过192.168.50.1

访问该主机