Un contenedor Docker se come toda la RAM del servidor
Un contenedor (base de datos, IA, navegador) acapara la memoria y el servidor entero se vuelve lento o mata procesos.
Por qué pasa (diagnóstico)
- Por defecto un contenedor no tiene límite de memoria.
- El OOM killer del kernel termina procesos cuando se agota la RAM.
Solución paso a paso
- Mira el consumo:
docker stats. - Limita al arrancar:
docker run --memory=1g .... - En compose, usa
mem_limit: 1g(odeploy.resources.limits.memory). - Recrea el contenedor:
docker compose up -d.
Requisitos
- Docker
Compatibilidad
- Docker Engine en Linux
Verificación
Basado en la documentación oficial citada; aún no probado en este laboratorio.
Fuentes
- Docker docs — Limitar recursos de contenedores (en inglés)
Guías relacionadas
- Docker: «permission denied … docker.sock» sin sudo
- Disco lleno por Docker (imágenes, caché y logs)
- Un contenedor no arranca solo tras reiniciar
- «docker-compose: command not found» (Compose v1 vs v2)
- Docker se salta las reglas de ufw al publicar puertos
- Montar un disco USB al arrancar sin que bloquee el arranque
Más guías de Linux y Docker.