Skip to content

Cómo Limitar Recursos en Docker

Docker permite limitar recursos como CPU, memoria y disco para gestionar el uso eficiente del host.

1. Limitar Uso de CPU

Limitar Núcleos

bash
docker run --cpuset-cpus="0,1" imagen

El contenedor usará solo los núcleos 0 y 1.

Limitar Proporción de CPU

bash
docker run --cpu-shares=512 imagen

El contenedor tendrá menos prioridad (512) que otros con el valor predeterminado (1024).

Limitar Tiempo de CPU

bash
docker run --cpu-quota=50000 imagen

El contenedor usará el 50% de CPU disponible.

2. Limitar Uso de Memoria

Limitar RAM

bash
docker run --memory=512m imagen

Máximo 512 MB de RAM.

Limitar Memoria Swap

bash
docker run --memory=512m --memory-swap=1g imagen

Máximo 512 MB de RAM + 512 MB de swap.

3. Limitar Uso del Disco

Limitar Operaciones de E/S

bash
docker run --device-read-bps=/dev/sda:1mb --device-write-bps=/dev/sda:2mb imagen

Lectura limitada a 1 MB/s y escritura a 2 MB/s en /dev/sda.

4. Ejemplo Completo

bash
docker run \
  --cpuset-cpus="0,1" \
  --cpu-quota=50000 \
  --memory=512m \
  --memory-swap=1g \
  imagen

Usa núcleos 0 y 1, 50% de CPU, 512 MB de RAM y 1 GB de RAM + swap.

Verificar Configuración

Para confirmar límites aplicados:

bash
docker inspect <nombre_contenedor>