====== Vagrant ======
Herramienta para la creación y configuración de entornos de desarrollo virtualizados.
* [[https://www.vagrantup.com/|Web oficial]]
===== Terminología =====
* **Box**: entorno Vagrant empaquetado.
* **Provider**: sistema subyacente que gestiona la las máquinas virtuales (VirtualBox, Docker, VMware...)
* **Provisioner**: sistemas que permiten la instalación de programas o configurar las máquinas virtuales como Chef o Puppet
* **Vagrantfile**: fichero usado para personalizar un entorno Vagrant. Escrito en Ruby
===== Uso =====
Por defecto, Vagrant utiliza [[informatica:sistemas_operativos:virtualizacion:virtualbox|VirtualBox]] como hipervisor para la creación y gestión de máquinas virtuales.
==== Boxes ====
Las //boxes// son unas imágenes básicas sobre las cuales Vagrant puede crear rápidamente una máquina virtual.
* [[https://app.vagrantup.com/boxes/search|Buscador de boxes]]
* [[https://app.vagrantup.com/boxes/search|Repositorio oficial de boxes]]
==== Vagrantfile ====
Para la creación de un entorno virtualizado con Vagrant es necesario definirlo en un fichero llamado ''Vagrantfile''. Ejemplo:
Vagrant.configure("2") do |config|
config.vm.box = "debian/buster64"
end
===== Línea de comandos =====
Eliminar máquina:
vagrant destroy nombre-maquina
Crear y arrancar una máquina virtual si está definida en un ''Vagrantfile'':
vagrant up
* ''vagrant init'': inicializa un directorio como entorno Vagrant, crea un fichero ''Vagrantfile''.
* ''vagrant box add '': Añade una box de Vagrant al entorno.
* ''vagrant up'': crea y configura la máquina virtual definida en el ''Vagrantfile''.
* ''vagrant ssh'': se conecta por SSH a la máquina virtual.
* ''vagrant halt'': intenta apagar correctamente la máquina virtual.
* ''vagrant suspend'': suspende la máquina virtual (congela el estado en el que está), no la apaga.
* ''vagrant resume'': arranca una máquina detenida, fuese suspendida o parada.
* ''vagrant reload'': rienicia la máquina virtual, es lo mismo que ''vagrant halt'' y luego ''vagrant resume''.
* ''vagrant status'': muestra el estado de las máquinas gestionadas por Vagrant.
* ''vagrant destroy'': Elimina la máquina virtual.