Guía de tecnologías

Monitorizar CPU y memoria en Docker Desktop

7 min read Docker Actualizado 22 Oct 2025
Monitorizar CPU y memoria en Docker Desktop
Monitorizar CPU y memoria en Docker Desktop

Panel de Docker Desktop mostrando uso de recursos (CPU y memoria)

Por qué es necesario gestionar recursos en Docker Desktop

Docker Desktop ejecuta contenedores dentro de una capa virtualizada. En Windows puede ser Hyper-V o WSL2, y en macOS usa HyperKit. Esa capa virtual aporta consistencia entre sistemas, pero también añade consumo adicional. Por eso tanto las cargas de trabajo en contenedores como los procesos en segundo plano de Docker pueden usar recursos significativos del sistema.

Controlar CPU, memoria y disco evita que el equipo quede lento o inestable. Docker Desktop permite limitar núcleos CPU, fijar un tope de memoria y gestionar el almacenamiento (limpieza de imágenes, contenedores y volúmenes). Conocer cómo y dónde se consume cada recurso ayuda a identificar contenedores problemáticos y a distinguirlos de la sobrecarga causada por Docker mismo.

Importante: monitorizar no es solo observar números; es identificar patrones, establecer umbrales y conectar mediciones con acciones concretas.

Monitorizar CPU y memoria desde el Dashboard de Docker Desktop

El Dashboard de Docker Desktop ofrece una interfaz gráfica sencilla para ver contenedores y su uso en tiempo real sin recurrir a la terminal.

  • Abre Docker Desktop.
  • Ve a la sección “Containers” (Contenedores).
  • Observa la lista de contenedores con métricas de CPU y memoria en tiempo real.

Interfaz de Docker Desktop, vista de contenedores con uso de CPU y memoria

Si haces clic en un contenedor puedes ver registros, variables de entorno y procesos en ejecución, además de detalles de CPU, memoria, disco y red en tiempo real.

Detalles de un contenedor: CPU, memoria, disco y red en tiempo real

Ventajas del Dashboard:

  • Acceso rápido y visual para desarrolladores.
  • Útil para inspecciones puntuales y debugging rápido.
  • No requiere conocimientos avanzados de CLI.

Limitaciones:

  • Menos configurable que soluciones de observabilidad dedicadas.
  • No conserva históricos largos ni permite alertas sofisticadas.

Mejorar la monitorización con la extensión Resource Usage

La extensión Resource Usage añade un panel dedicado con gráficas y filtros avanzados.

  • Abre “Extensions” en la barra lateral.
  • Busca “Resource Usage”.
  • Haz clic en “Install”.

Instalar extensión 'Resource Usage' en Docker Desktop

Tras instalarla, la verás en la barra lateral. La extensión muestra CPU, memoria, I/O de disco y actividad de red por contenedor, con opciones de ordenación y filtrado.

Vista de la extensión 'Resource Usage' con lista de contenedores y métricas

Puedes cambiar a la vista de gráficas para detectar picos o patrones:

Gráficas de uso de recursos (CPU, memoria) en la extensión

Cuándo usar la extensión:

  • Cuando ejecutas muchas instancias y necesitas filtrar por etiqueta o nombre.
  • Para detectar picos en ventanas cortas que el Dashboard no muestra con claridad.
  • Si quieres una vista más ordenada sin desplegar herramientas externas.

Monitorizar en tiempo real con docker stats

El comando docker stats entrega métricas en tiempo real desde la terminal. Abre un terminal integrado o tu terminal habitual y ejecuta:

docker stats

Esto inicia un stream continuo con CPU, memoria, límite de memoria, I/O y red por contenedor. Presiona Ctrl + C para detener el stream.

Salida del comando 'docker stats' mostrando métricas en tiempo real

Para monitorizar un contenedor específico, añade su nombre o ID:

docker stats openwebui

Salida de 'docker stats' para un contenedor específico (openwebui)

Ventajas de docker stats:

  • Ligero y sin dependencias externas.
  • Ideal para scripts o debugging en servidores sin UI.

Limitaciones:

  • No almacena históricos.
  • Salida difícil de analizar a gran escala; mejor usarla combinada con grabación o parsers.

Comandos útiles para gestionar límites y limpiar recursos

  • Limitar CPU al crear un contenedor:
docker run --cpus="1.5" nginx
  • Limitar memoria:
docker run -m 512m --memory-swap 512m redis
  • Cambiar recursos a un contenedor en ejecución (con ciertas versiones):
docker update --cpus 2 --memory 1g container_id
  • Liberar espacio no usado:
docker system prune -af --volumes

Nota: usar prunning con cuidado en entornos de desarrollo compartidos.

Mini-metodología para monitorizar recursos (5 pasos)

  1. Definir objetivos: decide si necesitas datos en tiempo real, históricos o alertas.
  2. Establecer umbrales iniciales: por ejemplo, CPU > 80% sostenido 30s, memoria > 75% del límite.
  3. Recopilar métricas: usa Dashboard/Extensión para inspecciones y docker stats para scripts.
  4. Correlacionar: vincula picos con despliegues, logs o cambios de configuración.
  5. Actuar y automatizar: limita recursos, escala servicios o añade alertas en herramientas externas.

Playbook rápido: respuesta a uso elevado de CPU o memoria

  1. Confirmar la alerta: verificar con Docker Dashboard o docker stats.
  2. Identificar el contenedor: listar procesos y revisar logs (docker logs ).
  3. Reproducir localmente: si es posible, lanza la misma imagen en un entorno controlado.
  4. Mitigar temporalmente: reinicia el contenedor o limita sus recursos (docker update).
  5. Diagnóstico: usar strace/profiler dentro del contenedor o obtener heap/stack según el lenguaje.
  6. Persistir cambios: ajustar configuraciones, añadir límites en la plantilla de despliegue (docker-compose, Kubernetes).
  7. Revisar y cerrar: documentar causa raíz y acciones tomadas.

Criterios para escalar a Ops: si el reinicio no reduce consumo o si hay impacto en producción.

Checklist por rol

Desarrollador:

  • Reproducir fallo localmente.
  • Revisar variables de entorno y versiones de dependencias.
  • Añadir límites locales de memoria/CPU si procede.

DevOps/Infra:

  • Confirmar patrón de consumo y ventana afectada.
  • Aplicar límites globales o reprogramar tareas cron pesadas.
  • Configurar alertas y dashboards históricos.

QA:

  • Ejecutar pruebas de carga con límites establecidos.
  • Validar que el servicio degrada de manera controlada.

Soporte/Helpdesk:

  • Obtener ID del contenedor y logs relevantes.
  • Ejecutar docker stats y capturar salida.
  • Escalar con evidencia a DevOps si el impacto es persistente.

Comparación rápida de herramientas de monitorización

HerramientaMejores usosProsContras
Docker Desktop (Dashboard)Debug rápido localIntegrado, fácilHistóricos limitados
Extensión Resource UsageInspecciones detalladas localesGráficas y filtrosSolo local, sin alertas externas
docker statsTerminal y scriptsLigero, sin UISin históricos ni alertas
PortainerGestión de contenedoresUI multi-nodo, controlRequiere despliegue adicional
Prometheus + GrafanaObservabilidad a escalaMétricas históricas y alertasRequiere instrumentación y almacenamiento

Escoge según tu necesidad: si necesitas observabilidad a largo plazo y alertas, combina Prometheus/Grafana; para uso de día a día en portátil, el Dashboard y la extensión son suficientes.

Cuándo estas técnicas fallan (contrajemplos)

  • Ambientes de producción distribuidos: Docker Desktop solo refleja el host local; no sirve para clústeres.
  • Requerimientos de retención larga: ni docker stats ni el Dashboard almacenan métricas por semanas.
  • Auditoría detallada de seguridad: estas herramientas no reemplazan soluciones de logging/monitoring conformes con auditoría.

Glosario (1 línea cada término)

  • Contenedor: unidad ligera que empaqueta una aplicación y sus dependencias.
  • Docker Desktop: aplicación para ejecutar Docker localmente en macOS/Windows.
  • docker stats: comando para ver métricas en tiempo real de contenedores.
  • Resource Usage: extensión de Docker Desktop para métricas visuales.

Preguntas frecuentes

¿Puedo establecer alertas con Docker Desktop?

Docker Desktop no tiene un sistema de alertas avanzado; para alertas automáticas integra Prometheus, Grafana o un servicio de monitoring.

¿Qué diferencia hay entre limitar memoria y limitar swap?

Limitar memoria (-m) fija la memoria máxima disponible; memory-swap controla si el contenedor puede usar swap adicional y cuánto.

¿Es seguro usar docker system prune en un equipo de desarrollo?

Sí, pero puede borrar imágenes y volúmenes que otras personas usan. Asegúrate de que no eliminas elementos necesarios antes de ejecutar el comando.

Resumen

Monitorizar CPU y memoria en Docker Desktop mejora la estabilidad de tus contenedores y del equipo. Usa el Dashboard para inspecciones rápidas, instala la extensión Resource Usage para vistas más detalladas y emplea docker stats para monitoreo desde la terminal. Define umbrales, sigue la mini-metodología propuesta y aplica el playbook cuando detectes picos. Para observabilidad a largo plazo, complementa con Prometheus/Grafana o una solución similar.

Principales acciones recomendadas:

  • Empezar por el Dashboard y la extensión para visualizar en tiempo real.
  • Añadir docker stats en scripts de diagnóstico.
  • Establecer límites y limpiar recursos periódicamente.
  • Integrar herramientas de observabilidad si necesitas históricos y alertas.
Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach