Les exemples "pour" ci-dessus sont corrects pour faire une gamme inclusive. Si vous souhaitez transférer un ensemble de ports spécifiques, vous devez utiliser l'opérateur Ruby .each.
Les variables peuvent être placées à l'intérieur ou à l'extérieur de la boucle principale de Vagrant.configure.
UDP_PORTS_LIST={
"5000" => 5000, # Some service
}
TCP_PORTS_LIST={
"5900" => 5900, # VNC
}
Les boucles doivent être placées dans le bloc Vagrant.configure de la VM pour laquelle vous souhaitez les mapper (n'oubliez pas que vous pouvez avoir plusieurs VM dans un seul fichier 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
0 votes
Cela vous aide-t-il ? docs.vagrantup.com/v2/networking/forwarded_ports.html
0 votes
Pas exactement. Je voulais savoir si vous pouviez spécifier une gamme de ports à ouvrir, plutôt qu'un à la fois. Je vais peut-être contacter l'auteur directement.
5 votes
Comme le fichier Vagrantfile n'est qu'un script Ruby, vous pourriez être en mesure d'écrire un script qui exécute config.vm.forward_port pour chaque port que vous voulez. Je ne maîtrise pas Ruby, donc je ne peux pas vraiment vous aider avec le code.