Compartir comentarios
Las respuestas se generan en base a la documentación.

docker network prune

DescripciónElimina todas las redes no utilizadas
Usodocker network prune [OPTIONS]

Descripción

Elimina todas las redes no utilizadas. Las redes no utilizadas son aquellas que no están referenciadas por ningún contenedor.

Opciones

OpciónPredeterminadoDescripción
--filterProporciona valores de filtro (p. ej., until=<marca-de-tiempo>)
-f, --forceNo solicita confirmación

Ejemplos

$ docker network prune

WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
n1
n2

Filtrar (--filter)

El formato de la opción de filtrado (--filter) es "clave=valor". Si hay más de un filtro, pasa múltiples opciones (p. ej., --filter "foo=bar" --filter "bif=baz").

Cuando se proporcionan varios filtros, se combinan de la siguiente manera:

  • Los filtros con diferentes claves se combinan utilizando la lógica AND. Una red debe cumplir todas las condiciones del filtro para ser eliminada.
  • Los filtros con la misma clave se combinan utilizando la lógica OR. Una red se elimina si coincide con cualquiera de los valores de esa clave.

Por ejemplo, --filter "label=foo" --filter "until=24h" elimina redes que tienen la etiqueta foo y que fueron creadas hace más de 24 horas. Por el contrario, --filter "label=foo" --filter "label=bar" elimina redes que tienen la etiqueta foo o bar.

Los filtros actualmente soportados son:

  • until (<marca-de-tiempo>) - solo elimina redes creadas antes de la marca de tiempo provista
  • label (label=<clave>, label=<clave>=<valor>, label!=<clave> o label!=<clave>=<valor>) - solo elimina redes con (o sin, en caso de que se use label!=...) las etiquetas especificadas.

El filtro until puede ser marcas de tiempo Unix, marcas de tiempo formateadas como fechas o cadenas de duración de Go soportadas por ParseDuration (p. ej., 10m, 1h30m) calculadas con respecto a la hora del demonio. Los formatos soportados para marcas de tiempo con formato de fecha incluyen RFC3339Nano, RFC3339, 2006-01-02T15:04:05, 2006-01-02T15:04:05.999999999, 2006-01-02T07:00 y 2006-01-02. Se utilizará la zona horaria local del demonio si no proporcionas un desplazamiento de zona horaria Z o +-00:00 al final de la marca de tiempo. Al proporcionar marcas de tiempo Unix, ingresa segundos[.nanosegundos], donde segundos es el número de segundos transcurridos desde el 1 de enero de 1970 (medianoche UTC/GMT), sin contar los segundos intercalares (también conocido como época Unix o tiempo Unix), y el campo opcional .nanosegundos es una fracción de segundo de no más de nueve dígitos de longitud.

El filtro label acepta dos formatos. Uno es label=... (label=<clave> o label=<clave>=<valor>), que elimina las redes con las etiquetas especificadas. El otro formato es label!=... (label!=<clave> o label!=<clave>=<valor>), que elimina las redes sin las etiquetas especificadas.

El siguiente ejemplo elimina las redes creadas hace más de 5 minutos. Ten en cuenta que las redes del sistema como bridge, host y none nunca se eliminarán:

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
7430df902d7a        bridge              bridge              local
ea92373fd499        foo-1-day-ago       bridge              local
ab53663ed3c7        foo-1-min-ago       bridge              local
97b91972bc3b        host                host                local
f949d337b1f5        none                null                local

$ docker network prune --force --filter until=5m

Deleted Networks:
foo-1-day-ago

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
7430df902d7a        bridge              bridge              local
ab53663ed3c7        foo-1-min-ago       bridge              local
97b91972bc3b        host                host                local
f949d337b1f5        none                null                local