Vagrant如何在同一台机器上转发多个端口?

Vagrant如何在同一台机器上转发多个端口?,vagrant,portforwarding,Vagrant,Portforwarding,我想知道如何设置一个流浪的文件,将提出一个机器与两个端口转发。 这是我当前的Vagrant文件,正在转发8080页: Vagrant.configure("2") do |config| config.vm.box = "precise32" config.vm.box_url = "http://files.vagrantup.com/precise32.box" config.vm.provider "virtualbox" config.vm.network :forw

我想知道如何设置一个流浪的文件,将提出一个机器与两个端口转发。 这是我当前的Vagrant文件,正在转发8080页:

Vagrant.configure("2") do |config|

  config.vm.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"
  config.vm.provider "virtualbox"

  config.vm.network :forwarded_port, guest: 8080, host: 8080
  config.vm.provision :shell, :path => "start.sh", :args => "'/vagrant'"

  config.vm.network :public_network
end

谢谢

如果要转发两个端口,只需添加另一行,如下所示:

config.vm.network :forwarded_port, guest: 8080, host: 8080
config.vm.network :forwarded_port, guest: 5432, host: 5432
for i in 81..89
          config.vm.network :forwarded_port, guest: i, host: i
end
for i in 8080..8089
          config.vm.network :forwarded_port, guest: i, host: i
end
在我看来,一个更好的方法是设置一个专用网络(或仅主机网络),这样就不必手动转发所有端口

请看我的帖子:

附加提示 如果在定义
:forward\u port
条目时使用
:id
功能,则需要确保每个条目都是唯一的。否则,他们会互相殴打,最后定义的一个通常会胜出

例如:

config.vm.network "forwarded_port", guest: 8080, host: 8080, id: 'was_appserver_http'
config.vm.network "forwarded_port", guest: 9043, host: 9043, id: 'ibm_console_http'
config.vm.network "forwarded_port", guest: 9060, host: 9060, id: 'ibm_console_https'

您可以转发任意数量的端口(如果主机未使用这些端口),如下所示:

# for Redis
config.vm.network "forwarded_port", guest: 6379, host: 6379
# for HTTP
config.vm.network "forwarded_port", guest: 80, host: 80
# for MySQL
config.vm.network "forwarded_port", guest: 3306, host: 3306
如果要转发端口的范围
for loop
也可以这样使用:

config.vm.network :forwarded_port, guest: 8080, host: 8080
config.vm.network :forwarded_port, guest: 5432, host: 5432
for i in 81..89
          config.vm.network :forwarded_port, guest: i, host: i
end
for i in 8080..8089
          config.vm.network :forwarded_port, guest: i, host: i
end

如果您使用的是chef kitchen,则端口在.kitchen.yml文件中设置如下:

---
driver:
  name: vagrant
  network:
    - ["forwarded_port", {guest: 80, host: 40080}]
    - ["forwarded_port", {guest: 443, host: 40443}]
provisioner:
...
这将在.kitchen/kitchen vagrant/vagrant文件中放置以下行:

c.vm.network(:forwarded_port, {:guest=>80, :host=>40080})
c.vm.network(:forwarded_port, {:guest=>443, :host=>40443})
别忘了做一个厨房破坏和厨房创造

见:


如果没有主机参数,我无法访问我的应用程序:

ng serve --host 0.0.0.0

根据文件中的内容,将主机8080转发给来宾8080。你正在尝试访问你的流浪者盒子上托管的Tomcat吗?您似乎已经有了一个解决方案。请注意,如果您的端口具有“id:”,则它需要是唯一的