public_network network multimachine create vagrant portforwarding

network - vagrant server



¿Cómo puede Vagrant reenviar múltiples puertos en la misma máquina? (3)

Me pregunto cómo configurar un archivo Vagrant que pondrá una máquina con dos puertos reenviados. Este es mi actual Vagrantfile, que reenvía la página 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

¡Gracias!


Puede reenviar tantos puertos como desee (si la máquina host no utiliza esos puertos) de la siguiente manera:

# 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

Si desea reenviar un rango de puertos, for loop también se puede usar así:

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


Si desea reenviar dos puertos, simplemente puede agregar otra línea como esta:

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

En mi opinión, una forma mejor es configurar una red privada (o red solo de host) para que no tenga que reenviar todos los puertos manualmente.

Ver mi post aquí: Vagrant forward port forwarding?

Consejos adicionales

Si utiliza la función :id al definir :forward_port entradas :forward_port , debe asegurarse de que cada una sea única. De lo contrario, se pegarán el uno al otro, y el último definido normalmente ganará.

Por ejemplo:

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''


Si está utilizando Chef Kitchen, los puertos se configuran en el archivo .kitchen.yml de la siguiente manera:

--- driver: name: vagrant network: - ["forwarded_port", {guest: 80, host: 40080}] - ["forwarded_port", {guest: 443, host: 40443}] provisioner: ...

Esto pondrá las siguientes líneas en el archivo .kitchen / kitchen-vagrant / Vagrantfile:

c.vm.network(:forwarded_port, {:guest=>80, :host=>40080}) c.vm.network(:forwarded_port, {:guest=>443, :host=>40443})

No te olvides de hacer destruir una cocina y crear una cocina.

ver:

http://www.jeeatwork.com/?p=76

https://github.com/test-kitchen/kitchen-vagrant#-network

https://docs.chef.io/config_yml_kitchen.html