有没有办法使用vagrant 1.2.1或更高版本转发一系列的端口? 我知道你可以通过使用单独转发任何数量的端口
config.vm.forward_port 80, 4567
或者,答案根本就是不使用stream浪者做这样的事情?
如果有人需要一个如何做你的Vagrantfile在这里的循环的例子是:
for i in 64000..65535 config.vm.network :forwarded_port, guest: i, host: i end
上面的循环会将64000和65535之间的所有端口转发到guest虚拟机上完全相同的端口(注意64000和65535是包含的)。
上面的“for”示例对于包含范围是正确的。 如果您想转发一组特定端口,则需要使用Ruby .each运算符。
variables可以在主要的Vagrant.configure循环内部或外部。
UDP_PORTS_LIST={ "5000" => 5000, # Some service } TCP_PORTS_LIST={ "5900" => 5900, # VNC }
这些循环需要进入Vagrant.configure模块,用于要映射它们的虚拟机(请记住,您可以在一个Vagrant文件中包含多个虚拟机)。
UDP_PORTS_LIST.each do |guest, host| config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "udp" end TCP_PORTS_LIST.each do |guest, host| config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "tcp" end