2016-04-25 13 views
-1

Ich habe spontan Probleme beim Hochfahren meiner Vagabund Maschine. Beim Versuch, Vagabund zu laufen bekomme ich folgende Fehlermeldung:Vagrant ungenutzte Hafen Kollision - nicht in der Lage, Vagabund zu laufen

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 80 is already in use 
on the host machine. 

To fix this, modify your current project's Vagrantfile to use another 
port. Example, where '1234' would be replaced by a unique host port: 

    config.vm.network :forwarded_port, guest: 80, host: 1234 

In meinem vagrantfile ich mich verändert habe diese Ports zu einem zufällig ungenutzt man aber der Fehler immer noch auftritt.

Bei der Ausführung lsof -i tcp:80 wird kein Service zurückgegeben und das gleiche gilt für andere Ports, die ich ausprobiert habe.

Hat jemand anderes dieses Problem schon einmal gehabt? Ich fange an zu denken, dass es nicht Port ist, ich habe auch versucht, meine Maschine neu zu starten.

Antwort

0

Es scheint, dass, wenn Sie sagen

When running lsof -i tcp:80 no service is returned and the same applies for other ports that I have tried.

Sie zwischen Host und Gast

so verwirrt sind, wenn es

liest
config.vm.network :forwarded_port, guest: 80, host: 1234 

Es bedeutet, dass der Port 80 von der Gast-VM wird auf dem Host an Port 1234 umgeleitet, egal ob auf dem 80 Port der VM etwas läuft oder nicht, es bereitet die Bindung vor und stellt sicher, dass der Port auf dem Host verfügbar ist. Also was man wirklich sicherstellen sollte ist, dass nichts auf dem Port 1234 auf dem Host läuft (nicht dass Port 80 etwas hat oder nicht) - Wenn es einen Prozess gibt, der den Port benutzt, wechsle zu einem anderen Port oder kill den Prozess ab

+0

Ich habe das gleiche Problem wie Simon. '1234' ist ein zufälliges Beispiel aus der Fehlermeldung, ein Vorschlag, wofür der Host-Port geändert werden soll. Es ist nicht der aktuelle Host-Port. Sie sehen den Host-Port früher in der Nachricht, wo es heißt: "Der weitergeleitete Port auf 80 wird bereits auf dem Host-Rechner verwendet." – Qaz

0

Wenn Sie auch dann Kollisionen erhalten, wenn die Ports nicht verwendet werden und VMware Fusion ausgeführt wird, ist sudo edit/Library/Preferences/VMware Fusion/vmnet8/nat.conf/delete (das Kommentieren war nicht genug für mich)) die Zeilen im Format <external port number> = <VM's IP address>:<VM's port number>. Zum Beispiel habe ich 80 = 192.168.12.150:80 und viele andere gelöscht. Speichern Sie die Datei und führen Sie vagrant up aus.

Möglicherweise müssen Sie diesen Vorgang beim Neustart der VM wiederholen. Es scheint ein Problem mit Fusion zu geben, das dazu führt, dass alte Einträge in der Konfigurationsdatei verbleiben, selbst nachdem die VM heruntergefahren wurde. Ich habe es hier herausgefunden: https://github.com/mitchellh/vagrant/issues/8130