¿Dónde guarda Vagrant los cambios en la máquina virtual?

103

Recién estoy comenzando con Vagrant y estoy teniendo problemas para entender algunos detalles. He leído los documentos, pero todavía me falta un concepto básico. Cuando quiero iniciar una caja Vagrant, ejecuto:

vagrant up

Esto "construirá la máquina virtual basada en la caja". Entiendo que las cajas están almacenadas en ~ / .vagrant.d y de hecho he empaquetado mi propia caja desde una caja básica de Ubuntu. Sin embargo, cuando ejecuto vagrant up y comienzo a agregar archivos a la máquina virtual, ¿dónde está almacenado el disco duro virtual de la máquina virtual? Por ejemplo, cuando ejecuto apt-get install apache2 y se modifica el sistema raíz, ¿dónde se modifica?

Cuando hago un du en mi directorio actual, no veo ningún cambio. Tampoco veo ningún cambio en el directorio ~ / .vagrant.d. Sin embargo, puedo hacer un alto vagabundo, reiniciar mi máquina local y luego ejecutar vagrant up nuevamente y los cambios persisten en alguna parte.

vagrant up también informa

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

¿Alguien puede decirme dónde se crea la máquina virtual y dónde se realizan los cambios?

Árbol
fuente

Respuestas:

113

Vagrant importa la caja base que se encuentra en ~/.vagrant.d/boxes/, como dijiste. Aquí es donde se guardan las cajas base. Lo usa para iniciar una máquina virtual desde el estado limpio. Al importar una máquina virtual, la responsabilidad de dónde almacenar los archivos de datos y el estado de la máquina virtual depende de la propia VirtualBox. Esta es una ubicación configurable, pero por lo general está predeterminada ~/VirtualBox\ VMSpara Mac OS X y Linux. En Windows las cajas se guardan en%userprofile%\.vagrant.d\boxes

Es fácil encontrar el lugar donde se crean, independientemente de la plataforma que esté utilizando.

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
fuente
Gracias por su respuesta. Ha explicado muy bien cómo funciona.
Árbol
12
También está ~/VirtualBox VMSen Windows.
Jason R. Coombs
Me preguntaba si @pyfunc y otros usuarios aquí podrían ayudarme a usar vagrant en una VM existente que no se crea usando vagrant upen primer lugar. stackoverflow.com/q/14503932/80353
Kim Stacks
@kimsia: Es posible exportar su VM después de cierta preparación como un archivo de caja que se puede usar con vagrant. Vea la nota de mi blog si puede ayudar: pyfunc.blogspot.com/2011/11/…
pyfunc
@pyfunc, gracias por tu respuesta. Tu entrada de blog me dio algunas pistas. Tengo más preguntas de seguimiento que hacer. ¿Estaría bien si copio su comentario y lo pego como respuesta a mi pregunta y llevo la conversación allí? ¿O prefiere ponerlo usted mismo como respuesta a mi pregunta? Esta es mi pregunta stackoverflow.com/q/14503932/80353
Kim Stacks
4

Siempre cambio el directorio que Virtualbox usa por defecto para las VM. Normalmente está en la carpeta de su perfil en Windows.

Lo cambio a algo como "D: \ VHDs \ VBox \" y allí encontré mi vm de prueba vagabundo: "test01_1347456065". Se llamaba test01, así que supongo que vagrant agrega los números para mantener las cosas únicas.

Christopher Thorjussen
fuente
2
Vagrant agrega la marca de tiempo UNIX al nombre de la carpeta.
kynan