J'ai Vagrant utilisé pour un profil de boîte. Maintenant, je veux utiliser Vagrant pour une autre boîte (b2), mais il dit que l'instance de bioiq consomme le port redirigé 2222 (ce qu'il est).
Maintenant, si je configure b2 avec ce qui suit, Vagrant essaie toujours d'utiliser 2222.
Vagrant.configure("2") do |config|
config.vm.box = 'precise32'
config.vm.box_url = 'http://files.vagrantup.com/precise32.box'
config.vm.network :forwarded_port, guest: 22, Host: 2323
# Neither of these fix my problem
# config.vm.network :private_network, type: :dhcp
# config.vm.network :private_network, ip: "10.0.0.200"
end
J'ai essayé différentes façons à partir d'autres questions SO pour définir le : forwarded_port (voir ici et ici ). J'ai également essayé ceci Google Group post , en vain. Je reçois toujours ce message.
Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 2222 is already in use
on the Host machine.
To fix this, modify your current projects Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique Host port:
config.vm.network :forwarded_port, guest: 22, Host: 1234
Sometimes, Vagrant will attempt to auto-correct this for you. In this
case, Vagrant was unable to. This is usually because the guest machine
is in a state which doesn't allow modifying port forwarding.
Je ne sais pas pourquoi Vagrant ignore systématiquement mes directives. La configuration publiée ne fonctionne pas. Quelqu'un a-t-il surmonté cela?
En cas de port ssh, Vagrant résout les collisions de port par lui-même:
==> ubuntu64: Fixed port collision for 22 => 2222. Now on port 2200.
Cependant, vous pouvez toujours créer une collision inévitable en:
vagrant suspend
)vagrant up
Vous obtiendrez le message d'erreur que vous obtenez maintenant.
La solution consiste à utiliser vagrant reload
, pour laisser vagabonder ignorer l'état de la machine virtuelle (ce qui signifie qu'il l'arrêtera à la dure - soyez donc prudent si vous avez du travail non enregistré là-bas) et redémarrez l'environnement, résolvant toutes les collisions de ports ssh sur le chemin par lui-même.
Je viens de rencontrer un problème sur les versions actuelles de Mac OSX (10.9.4) et VirtualBox (4.3.14) où le port ssh par défaut 2222 est à la fois inutilisé et non lié par vagabond. Cela provoquait un dépassement indéfini de la connexion ssh de vérification de l'intégrité.
Ce n'est pas exactement le même problème, mais un transfert explicite l'a résolu:
config.vm.network :forwarded_port, guest: 22, Host: 2201, id: "ssh", auto_correct: true
Cette suggestion provient d'un commentaire sur le Vagrant GitHub numéro 174 .
Il n'est pas clair si le port redirigé vers 22 est détecté ou si l'ID est utilisé, mais cela fonctionne pour moi.