Je me demande comment configurer un fichier Vagrant qui mettra en place une machine avec deux ports transmis. Voici mon Vagrantfile actuel, qui transmet la page 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
Merci!
Si vous souhaitez transférer deux ports, vous pouvez simplement ajouter une autre ligne comme celle-ci:
config.vm.network :forwarded_port, guest: 8080, Host: 8080
config.vm.network :forwarded_port, guest: 5432, Host: 5432
Une meilleure façon, à mon avis, est de configurer un réseau privé (ou réseau uniquement hôte), de sorte que vous n'ayez pas à transférer tous les ports manuellement.
Voir mon article ici: redirection de port inverse Vagrant?
Si vous utilisez le :id
fonctionnalité lors de la définition de :forward_port
entrées dont vous avez besoin pour vous assurer que chacune est unique. Sinon, ils s'encombreront et le dernier défini l'emportera généralement.
Par exemple:
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'
Vous pouvez transférer autant de ports que vous le souhaitez (si ces ports sont non utilisés par la machine hôte), comme suit:
# 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 vous souhaitez transférer un plage de ports, for loop
peut également être utilisé comme ceci:
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 vous utilisez chef kitchen, les ports sont définis dans le fichier .kitchen.yml comme suit:
---
driver:
name: vagrant
network:
- ["forwarded_port", {guest: 80, Host: 40080}]
- ["forwarded_port", {guest: 443, Host: 40443}]
provisioner:
...
cela mettra les lignes suivantes dans le fichier .kitchen/kitchen-vagrant/Vagrantfile:
c.vm.network(:forwarded_port, {:guest=>80, :Host=>40080})
c.vm.network(:forwarded_port, {:guest=>443, :Host=>40443})
n'oubliez pas de détruire une cuisine et de créer une cuisine.
voir:
http://www.jeeatwork.com/?p=76
Je n'ai pas pu accéder à mon application sans l'argument Host:
ng serve --Host 0.0.0.0