Cómo usar el comando docker top: ver procesos de un contenedor

| Última modificación: 1 de junio de 2026 | Tiempo de Lectura: 5 minutos
Premios Blog KeepCoding 2025

Contribuyo a acercar la realidad del sector tecnológico a nuevos profesionales, combinando conocimiento práctico, visión de mercado y experiencia directa en procesos de transformación profesional.

Cuando una aplicación corre dentro de un contenedor Docker, saber qué procesos están activos en su interior es una tarea habitual de diagnóstico. La opción obvia sería entrar al contenedor con docker exec y ejecutar ps, pero hay una forma más directa: docker top.

docker top muestra los procesos en ejecución dentro de un contenedor desde el host, sin necesidad de entrar al contenedor. Es el equivalente al comando ps de Linux, aplicado al interior del contenedor.

Para entender el contexto de monitorización y gestión de contenedores Docker donde encaja este comando, el artículo sobre qué es Docker explica la arquitectura completa.


Qué es docker top y cómo funciona

docker top es un subcomando de docker container que ejecuta el equivalente a ps dentro de un contenedor en ejecución y devuelve el resultado en el terminal del host. El contenedor no necesita tener ps instalado: es el host quien ejecuta la inspección del espacio de nombres de procesos del contenedor.

Esto lo hace especialmente útil en dos escenarios concretos:

  • Contenedores sin shell. Las imágenes distroless o construidas desde scratch no tienen shell ni utilidades del sistema. No se puede usar docker exec bash porque no existe. Con docker top se pueden ver los procesos igualmente.
  • Diagnóstico rápido. Sin tener que abrir una sesión interactiva dentro del contenedor, se obtiene la lista de procesos en una sola línea de comando.

La sintaxis del comando es:

docker top nombre-o-id-contenedor [opciones-ps]

Sintaxis y uso básico

docker top

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

El uso más simple es pasar el nombre o el ID del contenedor:

# Por nombre del contenedor
docker top mi-app

# Por ID del contenedor (sirve el ID completo o los primeros caracteres)
docker top a3f5c8e9d2b1

La salida por defecto en sistemas Linux tiene este formato:

UID         PID     PPID    C   STIME   TTY   TIME      CMD
root        1234    1230    0   10:25   ?     00:00:00  node server.js
root        1256    1234    0   10:25   ?     00:00:00  node --inspect

Las columnas por defecto son:

Columnas de la salida de docker top
Columna Qué muestra
UID Usuario propietario del proceso
PID ID del proceso dentro del contenedor
PPID ID del proceso padre
C Porcentaje de uso de CPU
STIME Hora de inicio del proceso
TTY Terminal asociado al proceso
TIME Tiempo de CPU acumulado
CMD Comando que ejecuta el proceso

Opciones de ps para personalizar la salida

Se pueden pasar opciones de ps directamente a docker top para obtener más información o en un formato diferente:

# Todos los procesos con uso de CPU y memoria
docker top mi-app aux

# Formato completo con más columnas
docker top mi-app -ef

# Solo PID y comando
docker top mi-app -eo pid,cmd

# Con uso de memoria
docker top mi-app -eo pid,user,%cpu,%mem,cmd

La opción aux es la más usada en diagnóstico porque muestra todos los procesos con sus porcentajes de CPU y memoria, equivalente a ps aux en un sistema Linux:

$ docker top mi-app aux

USER        PID     %CPU  %MEM  VSZ       RSS     TTY  STAT  START  TIME  COMMAND
root        1       0.1   0.5   712348    18456   ?    Ssl   10:25  0:02  node server.js
root        28      0.0   0.2   654212    8192    ?    S     10:25  0:00  node worker.js

docker top vs docker stats vs docker exec: cuándo usar cada uno

Las tres herramientas sirven para inspeccionar lo que ocurre dentro de un contenedor, pero con enfoques distintos.

Herramientas de diagnóstico de contenedores Docker
Comando Qué muestra Cuándo usarlo
docker top Procesos activos dentro del contenedor Ver qué procesos corren, verificar PID 1, detectar procesos inesperados
docker stats Uso de CPU, memoria, red y disco en tiempo real Monitorizar consumo de recursos, detectar memory leaks o CPU spikes
docker exec Terminal interactiva o comando específico dentro del contenedor Diagnóstico profundo, editar archivos, ejecutar comandos complejos
docker logs Salida estándar y de error del proceso principal Ver logs de la aplicación, diagnosticar errores de arranque
docker inspect Configuración completa del contenedor en JSON Ver toda la configuración: redes, volúmenes, variables de entorno, estado
# docker stats: uso de recursos en tiempo real de todos los contenedores
docker stats

# docker stats de un contenedor específico sin actualización continua
docker stats mi-app --no-stream

# Salida típica:
# CONTAINER ID  NAME    CPU %   MEM USAGE / LIMIT   MEM %   NET I/O   BLOCK I/O   PIDS
# a3f5c8e9d2b1  mi-app  0.15%   48.5MiB / 2GiB      2.37%   1.2MB     0B          3

Casos de uso reales de docker top

Verificar que solo corre el proceso principal

En contenedores bien construidos, debería haber un único proceso principal (PID 1) y ningún proceso hijo inesperado. docker top permite verificarlo rápidamente:

docker top mi-app

# Salida esperada en un contenedor bien construido:
# UID   PID   PPID  C  STIME  TTY  TIME      CMD
# root  1     0     0  10:25  ?    00:00:02  node server.js

# Si aparecen procesos inesperados, hay que investigar

Diagnosticar un contenedor que consume demasiados recursos

Si docker stats muestra que un contenedor consume más CPU o memoria de lo esperado, docker top aux permite ver qué proceso específico está causando el consumo:

# Ver qué proceso consume más CPU dentro del contenedor
docker top mi-app -eo pid,user,%cpu,%mem,cmd --sort=-%cpu

Inspeccionar contenedores sin shell

Las imágenes construidas desde scratch o con base distroless no tienen sh ni bash. No se puede usar docker exec -it mi-app sh. docker top es la única forma directa de ver los procesos activos en esos contenedores sin herramientas externas.

Verificar el usuario que ejecuta el proceso

Una buena práctica de seguridad es no ejecutar el proceso principal del contenedor como root. docker top muestra en la columna UID qué usuario ejecuta cada proceso. Si el Dockerfile usa la instrucción USER para definir un usuario no-root, docker top permite verificar que se aplica correctamente.

Para entender cómo configurar el usuario en el Dockerfile, el artículo sobre qué es un Dockerfile cubre la instrucción USER y las buenas prácticas de seguridad en la construcción de imágenes.

docker container top: el alias completo

docker top es el alias abreviado de docker container top. Los dos comandos son equivalentes y aceptan las mismas opciones:

# Los dos son equivalentes
docker top mi-app
docker container top mi-app

La versión con docker container top es más explícita y algunos equipos la prefieren en scripts y documentación para dejar claro que se está operando sobre un contenedor.

docker compose top: procesos de todos los servicios

En entornos con Docker Compose, el comando equivalente muestra los procesos de todos los servicios definidos en el archivo Compose:

# Procesos de todos los servicios del Compose
docker compose top

# Procesos de un servicio específico
docker compose top web

# Salida típica:
# web
# UID   PID   PPID  C  STIME  TTY  TIME      CMD
# root  1234  1230  0  10:25  ?    00:00:02  node server.js
#
# db
# UID   PID   PPID  C  STIME  TTY  TIME      CMD
# 999   5678  5674  0  10:25  ?    00:00:05  postgres

Es una forma rápida de obtener una visión general de todos los procesos activos en una aplicación multi-contenedor sin tener que ejecutar docker top sobre cada servicio por separado.

Limitaciones de docker top

docker top

docker top tiene algunas limitaciones que conviene conocer:

  • Solo funciona con contenedores en ejecución. Si el contenedor está detenido, el comando devuelve un error.
  • No se actualiza en tiempo real. A diferencia de docker stats, es una fotografía puntual del estado de los procesos en el momento de la ejecución. Para monitorización continua hay que ejecutarlo repetidamente o usar watch docker top mi-app.
  • Los PIDs mostrados son los del host. Docker muestra los PIDs del espacio de nombres del host, no los PIDs del interior del contenedor. El PID 1 del contenedor puede aparecer como un PID diferente desde la perspectiva del host.
  • Disponibilidad de opciones de ps según la imagen base. Las opciones de ps disponibles pueden variar según la imagen base del contenedor y la versión del kernel del host.
Conoce la historia de Rubén Martínez Gómez
«

Rubén trabajaba como ingeniero de aplicaciones cuando decidió dar el salto a DevOps. Hizo el Bootcamp DevOps de KeepCoding para entender el ecosistema completo: Docker, Kubernetes, Terraform y los procesos reales de gestión de infraestructura.

Hoy trabaja como SRE en Red Hat, donde herramientas como docker top, docker stats y docker exec forman parte del diagnóstico cotidiano de contenedores en producción. Lo que más valoró fue aprender a razonar sobre la infraestructura, no solo a ejecutar comandos.

«
Leer el caso de éxito completo de Rubén Martínez Gómez

Cómo aprender Docker a nivel profesional

Comandos como docker top son los que separan a quien usa Docker de quien sabe diagnosticar y operar contenedores en producción. En entornos reales, la capacidad de inspeccionar rápidamente los procesos de un contenedor sin interrumpir su ejecución es parte del trabajo cotidiano de cualquier SRE o DevOps Engineer.

Ese conocimiento operativo se construye trabajando con contenedores en proyectos reales donde los problemas de diagnóstico tienen consecuencias directas.

Sobre el Bootcamp DevOps de KeepCoding: El diagnóstico y operación de contenedores Docker en producción son parte del programa. Los alumnos aprenden a usar el conjunto completo de herramientas de inspección (docker top, docker stats, docker logs, docker inspect) en entornos reales. Los profesores son ingenieros DevOps en activo. Duración 6 meses, tasa de empleabilidad del 100%.

Para aprender a operar Docker a nivel profesional, el DevOps y Cloud Computing Full Stack Bootcamp de KeepCoding cubre el recorrido completo en 6 meses.



Conclusión

bootcamp devops

docker top es una herramienta de diagnóstico simple pero muy útil: permite ver los procesos activos dentro de un contenedor desde el host, sin entrar al contenedor y sin necesidad de que tenga shell instalado. DevOps y Cloud Computing Full Stack Bootcamp de KeepCoding.

En el conjunto de herramientas de diagnóstico de Docker, docker top responde a la pregunta «¿qué procesos están corriendo?». docker stats responde «¿cuántos recursos consumen?». Y docker exec permite entrar al contenedor para un diagnóstico más profundo.

Los tres juntos cubren la mayor parte de los escenarios de inspección de contenedores en producción.

La referencia oficial de docker top con todas sus opciones está en docs.docker.com/reference/cli/docker/container/top/.

Noticias recientes del mundo tech

¡CONVOCATORIA ABIERTA!

Bootcamp devops & cloud computing

Clases en Directo | Acceso a +600 empresas | Empleabilidad de 99,36%

Descárgate también el informe de tendencias en el mercado laboral 2026.

Fórmate con planes adaptados a tus objetivos y logra resultados en tiempo récord.
KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.