Contenido

Tutorial de docker system: consulta el uso del disco, limpia datos y supervisa eventos

docker system permite consultar el uso de datos de Docker, limpiar datos sin usar y obtener información del sistema y eventos. Para la limpieza, consulta liberar espacio en disco y aprende a gestionar el espacio que ocupa Docker.

Sintaxis

docker system df [OPTIONS]
docker system prune [OPTIONS]
docker info [OPTIONS]
docker events [OPTIONS]

docker info y docker system info, así como docker events y docker system events, son alias de los mismos comandos.

Parámetros

ComandoParámetroDescripción
docker system df--format plantillaUsa una plantilla personalizada; puedes usar table, json o una plantilla Go
docker system df-v, --verboseMuestra información detallada sobre el uso del espacio
docker system prune-a, --allElimina todas las imágenes sin usar, no solo las imágenes colgantes
docker system prune--filter condiciónFiltra los elementos que se limpiarán según una condición, por ejemplo, label=<key>=<value>
docker system prune-f, --forceNo solicita confirmación
docker system prune--volumesLimpia los volúmenes anónimos
docker info-f, --format plantillaUsa una plantilla personalizada; puedes usar json o una plantilla Go
docker events-f, --filter condiciónFiltra los eventos mostrados según la condición indicada
docker events--format plantillaUsa una plantilla personalizada; puedes usar json o una plantilla Go
docker events--since tiempoMuestra los eventos creados después del tiempo indicado
docker events--until tiempoTransmite eventos hasta el tiempo indicado

Ejemplos

Consultar el uso del disco y los detalles

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          5         3         420.2MB   239.7MB (57%)
Containers      3         3         139.3kB   0B (0%)
Local Volumes   1         1         3.854MB   0B (0%)
Build Cache     0         0         0B        0B

$ docker system df -v | head -20
Images space usage:

REPOSITORY   TAG           IMAGE ID       CREATED         SIZE      SHARED SIZE   UNIQUE SIZE   CONTAINERS
myweb        snapshot      56e3f92534ca   7 seconds ago   92.1MB    0B            92.08MB       0
nginx        1.30-alpine   47928bf67eb6   3 days ago      93.5MB    12.94MB       80.6MB        1
registry     3             01cd312e6702   3 days ago      86.9MB    12.94MB       73.93MB       1
<none>       <none>        0bf6577d7774   3 days ago      161MB     12.93MB       147.6MB       0
alpine       3.23          ff7f0c727dd7   3 days ago      13MB      12.93MB       86.86kB       1

Containers space usage:

CONTAINER ID   IMAGE               COMMAND                  LOCAL VOLUMES   SIZE      CREATED          STATUS          NAMES
0c009f73010b   alpine:3.23         "sleep 600"              0               4.1kB     42 seconds ago   Up 41 seconds   small
63b9a2f9c63f   nginx:1.30-alpine   "/docker-entrypoint.…"   0               115kB     44 seconds ago   Up 43 seconds   web
35357aad74b1   registry:3          "/entrypoint.sh /etc…"   1               20.5kB    2 minutes ago    Up 2 minutes    registry

Local Volumes space usage:

VOLUME NAME                                                        LINKS     SIZE
21ea99090ddead0461eb5a6efd670e1d9cf58fe9c23d5f8618db5868fb6170aa   1         3.854MB
  • El resumen general muestra el total, la cantidad activa, el tamaño y el espacio recuperable de las imágenes, los contenedores, los volúmenes locales y la caché de compilación.
  • -v muestra el uso de cada imagen y contenedor; los detalles de las imágenes también incluyen el tamaño compartido, el tamaño exclusivo y la cantidad de contenedores que las usan.
  • head -20 conserva solo las primeras 20 líneas del resultado, por lo que estos detalles no muestran el contenido posterior.

Limpiar datos sin usar

$ docker system prune -f
Deleted Images:
untagged: sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
deleted: sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
deleted: sha256:16b124a2d3eacd620d917ead6fd26cbf1f1d7117fa94122398971931cfe2d403
deleted: sha256:f79a7876c6644b273e4eec899344e51c66959237a2f71188db8cb98d7311521c

Total reclaimed space: 147.6MB

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          4         3         272.6MB   92.08MB (33%)
Containers      3         3         139.3kB   0B (0%)
Local Volumes   1         1         3.854MB   0B (0%)
Build Cache     0         0         0B        0B
  • -f hace que el comando de limpieza omita la solicitud de confirmación. El ejemplo elimina datos de imágenes sin usar e informa que recuperó 147.6MB.
  • Antes y después de la limpieza hay 3 contenedores; las imágenes pasan de 5 a 4 y su tamaño total baja de 420.2MB a 272.6MB.
  • --all limpia todas las imágenes sin usar y --volumes limpia los volúmenes anónimos; antes, comprueba qué datos necesitas conservar.

Obtener información del sistema con una plantilla de formato

$ docker info --format '{{.ServerVersion}} {{.Driver}} {{.Containers}} containers, {{.Images}} images'
29.9.2 overlayfs 3 containers, 5 images
  • --format limita el resultado a la versión del servidor, el controlador de almacenamiento y la cantidad de contenedores e imágenes que indica la plantilla.
  • El ejemplo muestra la versión del servidor 29.9.2 y el controlador de almacenamiento overlayfs.

Consultar eventos por tiempo y condición

$ timeout 3 docker events --since 30s --format '{{.Type}} {{.Action}} {{.Actor.Attributes.name}}' ; true
container top web
container top web
container kill busy
network disconnect bridge
container die busy
container destroy busy
image save sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
image save sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
image untag nginx:1.30-alpine
image load sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
container exec_create: sh -c echo hello > /usr/share/nginx/html/hi.txt web
container exec_start: sh -c echo hello > /usr/share/nginx/html/hi.txt web
container exec_die web
container export web
image tag myweb:snapshot
image import sha256:56e3f92534ca8c5aedd8de576ae2433f1864d3d3b51de847a8dc8dd7d503da4d
container create sharp_gould
container attach sharp_gould
network connect bridge
container start sharp_gould
network disconnect bridge
container die sharp_gould
container destroy sharp_gould
container prune <no value>
network prune <no value>
image untag sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
image delete sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
builder prune <no value>

$ docker events --since 10s --until 0s --filter type=container --format '{{.Action}} {{.Actor.Attributes.name}}'
prune <no value>
create evt
attach evt
start evt
die evt
destroy evt
  • El primer ejemplo empieza a transmitir eventos de los últimos 30 segundos y el formato muestra solo el tipo, la acción y el nombre del evento; timeout 3 limita el tiempo de ejecución.
  • El segundo ejemplo limita los resultados a eventos de contenedores con --filter type=container y establece el intervalo con --since y --until.
  • El campo del nombre del evento prune muestra <no value> porque ese evento no tiene un valor de nombre que lea esta plantilla.

Secciones relacionadas

Ejercicios

Ejercicio: muestra solo los eventos de contenedores de los últimos 10 segundos e imprime la acción del evento y el nombre del contenedor.

Respuesta
docker events --since 10s --until 0s --filter type=container --format '{{.Action}} {{.Actor.Attributes.name}}'

Preguntas frecuentes

¿Qué significa UNIQUE SIZE en docker system df -v?

Muestra el tamaño exclusivo de cada imagen; el resultado también incluye SIZE y SHARED SIZE. Por ejemplo, alpine:3.23 tiene un SIZE de 13MB, un SHARED SIZE de 12.93MB y un UNIQUE SIZE de 86.86kB.

¿docker system prune elimina imágenes en uso?

En el ejemplo elimina una imagen colgante que no usa ningún contenedor e informa que recuperó 147.6MB; después de la limpieza siguen activos 3 contenedores. --all amplía la limpieza a todas las imágenes sin usar y --volumes limpia los volúmenes anónimos.

¿Se pueden ver solo eventos de contenedores con docker events?

Sí, usa --filter type=container. Con --since y --until puedes limitar el intervalo de tiempo de los eventos, y con --format elegir los campos que se muestran.

¿Cómo obtengo solo la versión de Docker y la cantidad de imágenes con docker info?

Usa docker info --format para indicar los campos de la plantilla Go; el resultado del ejemplo es 29.9.2 overlayfs 3 containers, 5 images.

Actualizado 26 de octubre de 2026