Creación y personalización de una máquina virtual con vagrant
Creación y personalización de una máquina virtual con vagrant modificando el archivo vagrantfile
En este post explicaré y daré el paso a paso de como crear y personalizar una máquina virtual con Vagrant, esto incluye desde el inicio del proyecto hasta una configuración personalizada, usando VirtualBox como proveedor.
Antes de iniciar recomiendo leer
-
¿Qué es Vagrant? ¿Por qué usarlo? Comparación con Docker y VirtualBox.
-
Primeros comandos:
vagrant init
,vagrant up
,vagrant halt
,vagrant destroy
.
🛠️ Requisitos previos
Antes de comenzar, asegúrate de tener instalado:
-
Vagrant y VirtualBox, lo explico en Instalación de Vagrant y VirtualBox en Windows/Linux/macOS.
-
Vamos a trabajar directamente sobre el
Vagrantfile
, así que recomiendo leer el post.
📁 Crear el proyecto y el Vagrantfile
Primero que todo necesitamos un proyecto nuevo para trabajar, este proyecto es el que vamos a personalizar la maquina explicando los parámetros básicos que debemos colocarla a una máquina en virtualbox (proveedor de vagrant)
Abre una terminal y crea una carpeta para tu proyecto:
mkdir mi-maquina-vagrant
cd mi-maquina-vagrant
vagrant init bento/ubuntu-24.04
Este comando:
-
Crea un directorio para tu máquina virtual.
-
Inicializa un archivo
Vagrantfile
usando la box de Ubuntu 18.04 (ubuntu/bionic64
).
⚙️ Personalizar el Vagrantfile
procedemos a editar el Vagrantfile
generado para personalizar la máquina virtual. Aquí tienes un ejemplo completo y comentado:
Nota: en el siguiente enlace tiene la documentación de los parámetros que se pueden modificar en el vagrantfile.
Vagrant.configure("2") do |config|
# Imagen base
config.vm.box = "bento/ubuntu-24.04"
# Nombre personalizado para la máquina
config.vm.hostname = "mi-servidor"
# Red privada con IP fija
config.vm.network "private_network", ip: "192.168.56.20"
# Carpetas sincronizadas
config.vm.synced_folder "./proyecto", "/home/vagrant/proyecto"
# Configuración de recursos (RAM, CPU)
config.vm.provider "virtualbox" do |vb|
vb.name = "MiMaquinaPersonalizada"
vb.memory = "2048" vb.cpus = 2
end
# Script de aprovisionamiento (instala Apache y Git)
config.vm.provision "shell", inline: <<-SHELL echo "Provisionando la máquina..." apt-get update apt-get install -y apache2 git systemctl enable apache2 SHELL
end
🚀 Levantar la máquina virtual
Una vez configurado el Vagrantfile
, en la terminal:
vagrant up
Esto hará que:
-
Se descargue la box de Ubuntu si no la tienes.
-
Se cree una máquina virtual en VirtualBox.
-
Se configure red, memoria, carpetas compartidas, etc.
-
Se ejecute el aprovisionamiento (instalación de paquetes).
🔧 Acceder a la máquina
Para conectarte vía SSH:
vagrant ssh
Ya estás dentro de la máquina virtual lista para usar.
🧹 Otros comandos útiles
Comando | Qué hace |
---|---|
vagrant halt |
Apaga la VM |
vagrant reload |
Reinicia la VM y aplica cambios del Vagrantfile |
vagrant provision |
Vuelve a ejecutar el script de aprovisionamiento |
vagrant destroy |
Elimina la VM completamente |
vagrant status |
Muestra el estado de la VM |
✅ Resultado
Con esta configuración tienes:
-
Una máquina virtual Ubuntu con 2 GB de RAM y 2 CPUs.
-
Acceso por IP privada
192.168.56.20
. -
Un servidor Apache instalado automáticamente.
-
Una carpeta sincronizada entre el host y la VM (
./proyecto
↔/home/vagrant/proyecto
).
Comentario

oscardevops
14 April 2025 08:27
Estas son las versiones de ubuntu que se pueden usar para crear la maquina virtual
✅ ubuntu/focal64: Ubuntu 20.04 LTS (Focal Fossa) 64-bit
✅ ubuntu/jammy64: Ubuntu 22.04 LTS (Jammy Jellyfish) 64-bit
✅ ubuntu/bionic64: Ubuntu 18.04 LTS (Bionic Beaver) 64-bit