🧩 Compilación remota de PreTeXt con Docker y WSL2 en Windows 11
Este tutorial describe cómo configurar un entorno Docker + WSL2 en una desktop con Windows 11 para compilar proyectos PreTeXt almacenados en una laptop remota, usando una conexión LAN (192.168.x.x).
🧱 1️⃣ Contexto inicial
- Laptop (192.168.0.120): contiene los archivos del proyecto PreTeXt
\\HIROSHIMA\Proyectos\Libro_Generico_PreText - Desktop (192.168.0.241): ejecuta
- Windows 11
- Docker Desktop (con backend WSL2)
- Imagen Docker
pretext-curso(CLI de PreTeXt)
Objetivo:
💡 Que el contenedor Docker en la desktop acceda a los archivos de la laptop, compile los .ptx, y guarde los resultados directamente en la laptop.
🌐 2️⃣ Problema inicial
Por defecto, Docker Desktop usa una red NAT interna (172.x.x.x) que aísla los contenedores y la VM Linux (docker-desktop) de la red local (192.168.x.x).
Esto impedía hacer ping o montar la carpeta Samba (SMB) de la laptop.
ip addr show eth0
# inet 172.30.x.x
ping 192.168.0.120
# Host unreachable
🧰 3️⃣ Solución: habilitar red “real” (modo mirrored)
Archivo creado en C:\Users\rommel\.wslconfig:
[wsl2]
networkingMode=mirrored
memory=4GB
processors=4
swap=2GB
localhostForwarding=true
Luego:
wsl --shutdown
taskkill /F /IM "Docker Desktop.exe"
Tras reiniciar Docker, la VM docker-desktop obtiene una IP LAN real (192.168.0.x)
y ya puede comunicarse con la laptop:
ping 192.168.0.120
# 64 bytes from 192.168.0.120: time=3 ms
📂 4️⃣ Montaje SMB de la laptop dentro de Docker
mkdir -p /mnt/hiroshima
mount -t cifs //192.168.0.120/Proyectos/Libro_Generico_PreText /mnt/hiroshima -o username=rommel,password=aaa,vers=3.0,uid=0,gid=0,file_mode=0777,dir_mode=0777
Verificación:
ls /mnt/hiroshima
touch /mnt/hiroshima/prueba.txt
✅ Lectura/escritura confirmadas.
🧱 5️⃣ Ejecución del contenedor PreTeXt
docker run -it --rm -v /mnt/hiroshima:/workspace -w /workspace pretext-curso bash
Dentro del contenedor:
pretext build web
✅ Compilación exitosa.
✅ Archivos resultantes guardados en la laptop en:
c:\Proyectos\Libros_Generico_PreText\output
🔄 6️⃣ Estado actual
| Componente | Estado |
|---|---|
| Red entre Docker y laptop | ✅ Conectividad LAN (192.168.x.x) |
| Montaje SMB en Docker | ✅ Con autenticación y permisos completos |
| Contenedor PreTeXt | ✅ Compila y escribe en carpeta remota |
| Laptop | ✅ No tiene PreTeXt instalado |
Cuando se ejecuta el comando de compilación (o creación) de los archivos PreTeXt en tu Desktop (el servidor con Docker), estás haciendo tres cosas:
Creas el entorno de compilación (contenedor)
Montas la carpeta compartida /mnt/hiroshima (que apunta a la laptop)
Ejecutas el intérprete de bash dentro del contenedor, donde luego corres pretext build …
El resultado se guarda automáticamente en la laptop.
🚧 2️⃣ Qué limita esto
La laptop no tiene PreTeXt ni Docker, por lo tanto no puede compilar por sí sola.
Todo se ejecuta en la Desktop, así que:
Si la Desktop está apagada → no hay compilación.
Si no ejecutas el comando → el contenedor no existe.
🧠 Conclusión
Se ha implementado un entorno híbrido LAN–Docker donde:
- La desktop actúa como servidor de compilación.
- Los archivos residen en la laptop.
- La compilación ocurre remotamente dentro de Docker.
- Los resultados se guardan en la laptop automáticamente.
Este enfoque es ideal para laboratorios, aulas o entornos de enseñanza remota basados en PreTeXt.
✨ Preparado por Rommel Contreras — Octubre 2025
