Docker WSL2 y la Memoria Compartida: ¿Necesitas Múltiples Máquinas Virtuales?

Siempre que se decide implementar proyectos complejos como Immich o Open WebUI, surge la duda sobre el impacto en los recursos del sistema. Al principio pensé que si me rendía y empezaba a instalar estos sistemas que corren «en docker bajo wsl2», terminaría con un montón de máquinas compitiendo por la memoria RAM.

Esquema técnico de infraestructura compartida para contenedores.
Diagrama mostrando cómo múltiples contenedores comparten el mismo entorno WSL2 bajo Windows.

La Arquitectura Compartida de WSL2

La buena noticia es que, en general, no. En Windows moderno, tanto Docker Desktop como la mayoría de los proyectos tipo Immich o Open WebUI comparten la misma infraestructura de WSL2.

La arquitectura típica funciona así: Windows aloja un entorno WSL2 que contiene a docker-desktop y tus distribuciones Linux (Ubuntu, Debian). Los contenedores no son máquinas virtuales completas; todos comparten el mismo kernel Linux que proporciona WSL2. Por eso ejecutar 10 contenedores no equivale a ejecutar 10 máquinas virtuales.

Lo que sí ocurre es que cada proyecto suele traer varios contenedores, y bases de datos como PostgreSQL o Elasticsearch pueden quedarse con bastante memoria mientras están activos. Aunque Docker Desktop intenta devolver la RAM a Windows cuando ya no se usa, no siempre lo hace de forma inmediata.

Gestión del Almacenamiento

Un detalle que suele tranquilizar a quienes vienen del mundo de las VMs tradicionales es que el sobrecoste de tener servicios como Immich o Ollama como contenedores es muchísimo menor que tener cinco máquinas virtuales separadas. El riesgo más real no es la RAM, sino terminar con un «zoológico Docker» donde ya no recuerdas qué dependía de cuál.

Por eso, para alguien con perfil de administrador de sistemas como tú, conviene llevar un pequeño inventario y mantener cada proyecto en su propia carpeta con su docker-compose.yml. Así evitas el sufrimiento futuro de gestionar almacenamiento desordenado o bases de datos que crecen sin control.