Où Vagrant enregistre-t-il les modifications apportées à la VM?

103

Je ne fais que commencer par Vagrant et j'ai un peu de mal à comprendre quelques détails. J'ai lu la documentation mais il me manque encore un concept de base. Quand je veux démarrer une boîte Vagrant, je lance:

vagrant up

Cela "construira la VM basée sur la boîte". Je comprends que les boîtes sont stockées dans ~ / .vagrant.d et en fait j'ai emballé ma propre boîte à partir d'une boîte Ubuntu de base. Cependant, lorsque je lance vagrant et que je commence à ajouter des fichiers au vm, où est stocké le disque dur virtuel du vm? Par exemple, lorsque j'exécute apt-get install apache2 et que le système racine est modifié, où est-ce modifié?

Lorsque je fais un du sur mon répertoire actuel, je ne vois aucun changement. Je ne vois également aucun changement dans le répertoire ~ / .vagrant.d. Cependant, je peux faire un arrêt de vagabond, redémarrer ma machine locale, puis relancer le vagabond et les changements sont persistés quelque part.

vagrant up rapporte aussi

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

Quelqu'un peut-il me dire où la machine virtuelle est créée et où les modifications sont apportées?

Arbre
la source

Réponses:

113

Vagrant importe la boîte de base qui se trouve à ~/.vagrant.d/boxes/, comme vous l'avez dit. C'est là que les boîtes de base sont conservées. Il l'utilise pour démarrer une machine virtuelle à partir de l'état propre. Lors de l'importation d'une machine virtuelle, la responsabilité de l'emplacement de stockage des fichiers de données et de l'état de la machine virtuelle incombe à VirtualBox lui-même. Il s'agit d'un emplacement configurable, mais il est généralement utilisé par défaut ~/VirtualBox\ VMSpour Mac OS X et Linux. Sous Windows, les boîtes sont conservées%userprofile%\.vagrant.d\boxes

Il est facile de trouver l'endroit où ils sont créés, quelle que soit la plate-forme que vous utilisez.

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
la source
Merci pour votre réponse. Vous avez bien expliqué comment cela fonctionne.
Arbre du
12
C'est aussi ~/VirtualBox VMSsur Windows.
Jason R. Coombs
Je me demandais si @pyfunc et d'autres utilisateurs ici pourraient m'aider à utiliser vagrant sur une VM existante qui n'est pas créée en utilisant vagrant upen premier lieu. stackoverflow.com/q/14503932/80353
Kim Stacks
@kimsia: Il est possible d'exporter votre VM après une certaine préparation sous forme de fichier box pouvant être utilisé avec vagrant. Voir ma note de blog si cela peut aider: pyfunc.blogspot.com/2011/11/…
pyfunc
@pyfunc, merci pour votre réponse. Votre blog m'a donné quelques indices. J'ai d'autres questions complémentaires à poser. Est-ce que je peux copier votre commentaire et coller comme réponse à ma question et y prendre la conversation? Ou vous préférez le poser vous-même comme réponse à ma question? C'est ma question stackoverflow.com/q/14503932/80353
Kim Stacks
4

Je change toujours le répertoire que Virtualbox utilise par défaut pour les VM. Normalement, il se trouve dans votre dossier de profil dans Windows.

Je le change en quelque chose comme "D: \ VHDs \ VBox \" et là, j'ai trouvé mon vm test vagrant: "test01_1347456065". Il s'appelait test01, donc je suppose que vagrant ajoute les chiffres pour garder les choses uniques.

Christopher Thorjussen
la source
2
Vagrant ajoute l'horodatage UNIX au nom du dossier.
kynan