Comandos Clave - 353.4 Vagrant

Ciclo de Vida de la VM

ComandoDescripción
vagrant init <box>Crear Vagrantfile con box especificado
vagrant upCrear e iniciar VM
vagrant up --provider=libvirtIniciar con provider específico
vagrant up --provisionIniciar forzando provisioning
vagrant sshConectar por SSH a la VM
vagrant ssh <nombre>SSH a VM específica (multi-máquina)
vagrant haltApagar VM (shutdown ordenado)
vagrant suspendSuspender VM (guardar estado)
vagrant resumeReanudar VM suspendida
vagrant reloadReiniciar VM (halt + up)
vagrant reload --provisionReiniciar con re-provisioning
vagrant destroyEliminar VM completamente
vagrant destroy -fEliminar sin confirmación
vagrant statusEstado de la VM actual
vagrant global-statusEstado de todas las VMs Vagrant

Provisioning

ComandoDescripción
vagrant provisionEjecutar provisioners
vagrant provision --provision-with shellEjecutar provisioner específico
vagrant up --no-provisionIniciar sin provisioning

Gestión de Boxes

ComandoDescripción
vagrant box listListar boxes instaladas
vagrant box add <nombre>Descargar e instalar box
vagrant box add <nombre> <url>Añadir box desde URL
vagrant box add <nombre> --provider libvirtAñadir para provider específico
vagrant box remove <nombre>Eliminar box
vagrant box updateActualizar box a última versión
vagrant box pruneEliminar versiones antiguas
vagrant box prune --dry-runVer qué se eliminaría
vagrant box outdatedVerificar si hay actualizaciones

Snapshots

ComandoDescripción
vagrant snapshot save <nombre>Crear snapshot
vagrant snapshot listListar snapshots
vagrant snapshot restore <nombre>Restaurar snapshot
vagrant snapshot delete <nombre>Eliminar snapshot
vagrant snapshot pushPush al stack de snapshots
vagrant snapshot popPop del stack de snapshots

Plugins

ComandoDescripción
vagrant plugin install vagrant-libvirtInstalar plugin libvirt
vagrant plugin listListar plugins instalados
vagrant plugin uninstall <plugin>Desinstalar plugin
vagrant plugin updateActualizar plugins

Otros Comandos

ComandoDescripción
vagrant validateValidar Vagrantfile
vagrant portVer redirecciones de puertos
vagrant ssh-configVer configuración SSH
vagrant cloud search <query>Buscar boxes en Vagrant Cloud

Opciones de Vagrantfile

OpciónDescripción
config.vm.boxBox base a utilizar
config.vm.hostnameHostname de la VM
config.vm.network "forwarded_port", guest: X, host: YRedirigir puertos
config.vm.network "private_network", ip: "X"Red privada (host-only)
config.vm.network "public_network"Red pública (bridge)
config.vm.synced_folder "host", "guest"Carpeta compartida
config.vm.provider "virtualbox" do |vb|Configurar provider
config.vm.provision "shell", inline: "..."Provisioner shell inline
config.vm.provision "shell", path: "script.sh"Provisioner shell externo
config.vm.provision "ansible" do |a|Provisioner Ansible
config.vm.define "nombre" do |n|Definir VM en multi-máquina
config.vm.box_check_update = falseDesactivar auto-update

Archivos y Directorios

RutaDescripción
VagrantfileArchivo de configuración (en directorio del proyecto)
.vagrant/Directorio de estado local del proyecto
~/.vagrant.d/Directorio global de Vagrant (boxes, plugins)
~/.vagrant.d/boxes/Boxes descargadas
/vagrantCarpeta compartida por defecto dentro de la VM