2015-06-24 5 views
8

Ich frage mich, wie ich den Befehl ausführen kann, die Bedienung von Terminal, von meiner vagrant Maschine:Vagrant ping oder curl von Gast zu bewirten Maschine

$ ping localhost:3000

oder

$ curl http://localhost:3000

In Host-Rechner (OSX) Ich habe einen Rails-Server, der in localhost: 3000 läuft, also erwarte ich, dass im Rails-Log etwas angezeigt wird.

Antwort

10

Wenn ich in der VM laufen:

$ ip route show

In der Ausgabe es eine Zeile wie:

default via 10.0.2.2 dev enp0s3 proto static metric 1024

, dass die IP ist vom Gast ping:

curl http://10.0.2.2:3000

8

Innerhalb der Landstreicher Maschine localhost bezieht sich auf die Gast Landstreicher Maschine, d.h. localhost bezieht sich nicht auf Host-Maschine. Eine Möglichkeit, vom Gast aus auf den Host-Computer zuzugreifen, besteht darin, einen zu konfigurieren. Sie können eine statische private IP für vagabundierende angeben, wie folgt aus:

Vagrant.configure("2") do |config| 
    config.vm.network "private_network", ip: "192.168.50.4" 
end 

Danach Gast von Host über 192.168.50.4 zugänglich ist und Gastgeber ist vom Gast über 192.168.50.1, dh das Ende -octoat für IP-Host wird 1 innerhalb Gast Maschine.

Nach vagrant up, können Sie diese von innen Gastmaschine tun:

$ ping 192.168.50.1 
$ curl http://192.168.50.1:3000 

Beachten Sie, dass, wenn Sie einen strengen Firewall-Setup haben, dann müssen Sie Verbindung von 192.168.50.4 ermöglichen.

+0

Das ist in Interessante Informationen über die IP-Adresse des Hosts vom Gast bis zu 1. Ist das irgendwo dokumentiert? Und was passiert, wenn Sie die Gast-IP auf etwas setzen, das mit einer 1 endet? Würde das Folgende einfach nicht funktionieren? 'config.vm.network" private_network ", ip:" 192.168.50.1 "' – tobuslieven

+1

Ich versuche die ersten zehn und keiner von ihnen funktioniert: 'curl: (7) Failed connect zu 192.168.33.1:3000; Keine Route zum Host –

+1

@tobuslieven Dies ist in dem Buch Vagrant: Up and Running geschrieben von dem ursprünglichen Schöpfer von Vagrant beschrieben. Wenn ich mich richtig erinnere, war es auch in der Dokumentation vorhanden. Ich konnte es jedoch jetzt nicht in der aktuellen Version der Dokumentation finden. – taskinoor

Verwandte Themen