Wo speichert Vagrant Änderungen an der VM?

103

Ich fange gerade mit Vagrant an und habe ein wenig Probleme, ein paar Details zu verstehen. Ich habe die Dokumente gelesen, aber es fehlt mir immer noch ein Grundkonzept. Wenn ich eine Vagrant-Box starten möchte, starte ich:

vagrant up

Dadurch wird "die VM basierend auf der Box erstellt". Ich verstehe, dass die Boxen unter ~ / .vagrant.d gespeichert sind, und tatsächlich habe ich meine eigene Box von einer Ubuntu-Basisbox gepackt. Wenn ich jedoch vagrant starte und anfange, Dateien zur VM hinzuzufügen, wo wird die virtuelle Festplatte für die VM gespeichert? Wenn ich beispielsweise apt-get install apache2 ausführe und das Root-System geändert wird, wo wird dies geändert?

Wenn ich ein Du in meinem aktuellen Verzeichnis mache, sehe ich keine Änderungen. Ich sehe auch keine Änderungen im Verzeichnis ~ / .vagrant.d. Ich kann jedoch Vagrant anhalten, meinen lokalen Computer neu starten und dann Vagrant erneut ausführen, und die Änderungen werden irgendwo beibehalten.

Vagabund berichtet auch

[default] VM already created. Booting if its not already running...

Kann mir jemand sagen, wo die VM erstellt wird und wo die Änderungen vorgenommen werden?

Baum
quelle

Antworten:

113

Vagrant importiert die Basisbox, die sich befindet ~/.vagrant.d/boxes/, wie Sie sagten. Hier werden die Basisboxen aufbewahrt. Es wird verwendet, um eine VM aus dem sauberen Zustand heraus zu starten. Beim Importieren einer VM liegt die Verantwortung für das Speichern von Datendateien und den VM-Status bei VirtualBox. Dies ist ein konfigurierbarer Speicherort, der normalerweise ~/VirtualBox\ VMSfür Mac OS X und Linux verwendet wird. In Windows bleiben die Boxen erhalten%userprofile%\.vagrant.d\boxes

Es ist einfach, den Ort zu finden, an dem sie erstellt werden, unabhängig davon, welche Plattform Sie gerade verwenden.

1. Start VirtualBox. 
2. Go to the VM that shows as running instance. 
3. Check out the Settings ->Storage. 
4. You can find the path to location where VMs are created and stored in your file system.
pyfunc
quelle
Vielen Dank für Ihre Antwort. Sie haben gut erklärt, wie es funktioniert.
Baum
12
Es ist auch ~/VirtualBox VMSunter Windows.
Jason R. Coombs
Ich habe mich gefragt, ob @pyfunc und andere Benutzer hier mir bei der Verwendung von Vagrant auf einer vorhandenen VM helfen könnten, die überhaupt nicht mit erstellt wurde vagrant up. stackoverflow.com/q/14503932/80353
Kim Stacks
@kimsia: Es ist möglich, Ihre VM nach einer bestimmten Vorbereitung als Box-Datei zu exportieren, die mit Vagrant verwendet werden kann. Siehe meine Blog-Notiz, wenn es helfen kann: pyfunc.blogspot.com/2011/11/…
pyfunc
@pyfunc, danke für deine Antwort. Dein Blogpost hat mir einige Hinweise gegeben. Ich habe weitere Anschlussfragen zu stellen. Wäre es in Ordnung, wenn ich Ihren Kommentar kopiere und als Antwort auf meine Frage einfüge und das Gespräch dort nehme? Oder möchten Sie es lieber selbst als Antwort auf meine Frage setzen? Dies ist meine Frage stackoverflow.com/q/14503932/80353
Kim Stacks
4

Ich ändere immer das Verzeichnis, das Virtualbox standardmäßig für VMs verwendet. Normalerweise befindet es sich in Ihrem Profilordner unter Windows.

Ich ändere es in etwas wie "D: \ VHDs \ VBox \" und dort habe ich meinen Vagabundentest vm gefunden: "test01_1347456065". Es hieß test01, also fügt Vagrant die Zahlen hinzu, um die Dinge einzigartig zu halten.

Christopher Thorjussen
quelle
2
Vagrant fügt dem Ordnernamen den UNIX-Zeitstempel hinzu.
Kynan