Vagrant 1.2.1以降を使用してポートの範囲を転送する方法はありますか?私はあなたが使用することにより、任意の数のポートを個別に転送できることを知っています
config.vm.forward_port 80, 4567
または、答えは単にそのようなことをするために浮浪者を使わないのですか?
誰かがVagrantfileでループを実行する方法の例が必要な場合は、次のとおりです。
for i in 64000..65535
config.vm.network :forwarded_port, guest: i, Host: i
end
上記のループは、64000と65535の間のすべてのポートをゲストのまったく同じポートに転送します(64000と65535は包括的であることに注意してください)。
上記の「for」の例は、包括的な範囲を実行するのに適しています。特定のポートのセットを転送する場合は、Ruby .each演算子を使用する必要があります。
変数は、メインのVagrant.configureループの内側または外側に移動できます。
UDP_PORTS_LIST={
"5000" => 5000, # Some service
}
TCP_PORTS_LIST={
"5900" => 5900, # VNC
}
ループは、マッピングしたいVMのVagrant.configureブロック内にある必要があります(単一のVagrantfileに複数のVMを含めることができることを思い出してください)。
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