Carpetas compartidas en vagrant
Aprender a compartir carpetas entre el host y la máquina virtual (VM) es fundamental para usar Vagrant de forma eficiente

Aprender a compartir carpetas entre el host y la máquina virtual (VM) es fundamental para usar Vagrant de forma eficiente.
Esto te permite editar archivos en tu sistema operativo host (por ejemplo, Windows) y ver los cambios directamente en la VM (por ejemplo, una máquina Linux), sin tener que copiar archivos manualmente.
🔍 ¿Cómo funciona el "Shared Folder" en Vagrant?
Vagrant usa "carpetas sincronizadas" (synced folders) para vincular una carpeta en tu máquina host con una carpeta dentro de la VM. Esto se configura en el archivo Vagrantfile.
- Host: tu sistema operativo (ej. Windows, Linux, macOS)
- Guest: el sistema operativo de la VM (ej. Ubuntu, CentOS)
Cuando inicias la VM con vagrant up, Vagrant sincroniza esas carpetas automáticamente.

🛠️ Ejemplo paso a paso: Compartir una carpeta
📁 Estructura de carpetas en el host:
proyecto-vagrant/
├── Vagrantfile
├── compartido/
│ └── archivo.txt
Supongamos que estamos en Windows o Linux y queremos que la carpeta compartido/ se vea dentro de la VM.
1️⃣ Crea el directorio del proyecto
mkdir proyecto-vagrant
cd proyecto-vagrant
mkdir compartido
echo "Hola desde el host" > compartido/archivo.txt
2️⃣ Inicializa Vagrant
vagrant init hashicorp/bionic64
Este comando genera un Vagrantfile
.
3️⃣ Edita el Vagrantfile
Busca esta sección (puede estar comentada):
# config.vm.synced_folder "../data", "/vagrant_data"
Y reemplázala por esto:
config.vm.synced_folder "./compartido", "/home/vagrant/compartido"
📌 Esto sincroniza:
- Desde el host: ./compartido
- Hacia la VM (guest): /home/vagrant/compartido
4️⃣ Levanta la VM
vagrant up
Esto descarga la imagen si es necesario y crea la VM.
5️⃣ Entra en la VM
vagrant ssh
6️⃣ Verifica que la carpeta esté compartida
Dentro de la VM, ejecuta:
ls /home/vagrant/compartido
Deberías ver:
archivo.txt
Y puedes abrirlo:
cat /home/vagrant/compartido/archivo.txt
7️⃣ Probar edición bidireccional (opcional)
Dentro de la VM, crea otro archivo:
echo "Hola desde la VM" > /home/vagrant/compartido/desde-vm.txt
En tu host (Windows/Linux), ve a la carpeta compartido/ y verás desde-vm.txt.
🧠 Notas importantes
En Windows, puede que necesites permisos para compartir carpetas (especialmente en VirtualBox).
Algunos sistemas usan NFS o rsync para hacer el sync más eficiente. Puedes configurar el tipo así:
config.vm.synced_folder "./compartido", "/home/vagrant/compartido", type: "rsync"
Para que rsync
funcione, debe estar instalado en tu host y VM.