Contenido

Tutorial de docker stats: consulta el uso de recursos en tiempo real (--no-stream, --format)

docker stats muestra el uso de recursos de los contenedores en tiempo real. Para consultar procesos y depurar, consulta Ver registros y depurar.

Sintaxis

docker stats [parámetros] [contenedor...]
docker top contenedor [parámetros de ps]

Parámetros

ParámetroDescripción
-a, --allMuestra todos los contenedores (por defecto, solo muestra los que están en ejecución)
--format plantillaUsa una plantilla personalizada para la salida; puedes usar table, table plantilla, json o una plantilla de Go
--no-streamDetiene la transmisión y obtiene solo el primer resultado
--no-truncNo trunca la salida

La sintaxis de docker top acepta parámetros de ps; en el siguiente ejemplo se usa -o para especificar los campos de los procesos que se mostrarán.

Ejemplos

Consulta todos los contenedores o especifica uno

$ docker stats --no-stream
CONTAINER ID   NAME       CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
0c009f73010b   small      0.00%     716KiB / 64MiB        1.09%     628B / 126B       381kB / 0B        1
f3e514c09baa   busy       43.08%    1.289MiB / 1.919GiB   0.07%     796B / 126B       1.83MB / 0B       1
63b9a2f9c63f   web        0.00%     4.43MiB / 1.919GiB    0.23%     838B / 126B       8.95MB / 8.19kB   2
35357aad74b1   registry   2.01%     13.19MiB / 1.919GiB   0.67%     3.89MB / 19.6kB   135MB / 3.92MB    5

$ docker stats --no-stream web
CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O         PIDS
63b9a2f9c63f   web       0.00%     3.812MiB / 1.919GiB   0.19%     838B / 126B   8.95MB / 8.19kB   2
  • --no-stream obtiene solo el primer resultado y no actualiza la pantalla continuamente.
  • Si no especificas un contenedor, se muestran varios contenedores en ejecución; al especificar web, solo se muestra ese contenedor.
  • MEM USAGE / LIMIT muestra el uso y el límite; el límite de small es 64MiB, mientras que los demás contenedores del ejemplo muestran 1.919GiB.
  • NET I/O y BLOCK I/O muestran la entrada y salida de red y de I/O de bloques, respectivamente; PIDS es el número de procesos.

Usa una plantilla de tabla o genera JSON

$ docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}'
NAME       CPU %     MEM USAGE / LIMIT
small      0.00%     616KiB / 64MiB
busy       42.14%    936KiB / 1.919GiB
web        0.00%     3.723MiB / 1.919GiB
registry   0.31%     14.1MiB / 1.919GiB

$ docker stats --no-stream --format '{{json .}}' small
{"BlockIO":"381kB / 0B","CPUPerc":"0.00%","Container":"small","ID":"0c009f73010b","MemPerc":"0.79%","MemUsage":"516KiB / 64MiB","Name":"small","NetIO":"698B / 126B","PIDs":"1"}
  • La plantilla table genera encabezados de columna; aquí solo se seleccionan el nombre, el porcentaje de CPU y el uso de memoria.
  • {{json .}} genera los datos estadísticos del contenedor especificado como una sola línea JSON.
  • El uso varía según la muestra: tanto el resultado de la tabla como el de JSON para small muestran el límite de 64MiB, pero el uso de memoria es distinto.

Consulta los procesos del contenedor y personaliza los campos

$ docker top web
PID                 USER                TIME                COMMAND
2315                root                0:00                nginx: master process nginx -g daemon off;
2351                101                 0:00                nginx: worker process

$ docker top web -o pid,user,comm
PID                 USER                COMMAND
2315                root                nginx
2351                101                 nginx
  • docker top muestra los procesos en ejecución dentro del contenedor; por defecto, el resultado incluye PID, usuario, tiempo y el comando completo.
  • Al personalizar los campos con -o pid,user,comm, se omite TIME y COMMAND muestra un nombre de proceso más corto.

Secciones relacionadas

Ejercicios

Ejercicio: consulta el contenedor small una sola vez y muestra su nombre y uso de memoria en una tabla.

Respuesta
docker stats --no-stream --format 'table {{.Name}}\t{{.MemUsage}}' small

Preguntas frecuentes

¿Cómo puedo consultar un solo contenedor con docker stats?

Especifica el nombre del contenedor después del comando; por ejemplo, docker stats --no-stream web solo incluirá web en la salida.

¿Qué significa MEM USAGE / LIMIT en docker stats?

Muestra el uso de memoria y su límite. En el ejemplo, small muestra 716KiB / 64MiB, por lo que el límite de 64MiB se ve directamente en la columna.

¿Cómo puedo ver solo PID, USER y COMMAND de docker top?

Usa docker top web -o pid,user,comm; la salida mostrará esos tres campos.

Actualizado 26 de octubre de 2026