puedo escribir
docker images --filter "dangling=true"
¿Qué otros filtros puedo utilizar?
¿Puedo usar algo como esto?
docker images --filter "running=false"
Docker v1.13.0 admite las siguientes condiciones:
-f, --filter value Filter output based on conditions provided (default [])
- dangling=(true|false)
- label=<key> or label=<key>=<value>
- before=(<image-name>[:tag]|<image-id>|<image@digest>)
- since=(<image-name>[:tag]|<image-id>|<image@digest>)
- reference=(pattern of an image reference)
O use grep
para filtrar imágenes por algún valor:
$ docker images | grep somevalue
docker images -f "reference=*/*/*latest"
: Esto le proporcionaría algo parecidok8s:30000/github/someImage:latest
. odocker images -f "reference=*/*latest"
te atraparíak8s:30000/someImage:latest
. si desea limpiarlos -docker rmi $(docker images -f "reference=*/*/*latest" -q --no-trunc)
También puede utilizar el
REPOSITORY
argumentodocker images
para filtrar las imágenes.Por ejemplo, supongamos que tenemos las imágenes:
Podemos filtrar explícitamente todas las imágenes con un nombre determinado:
Docker también admite globbing:
Documentos oficiales aquí .
fuente
*
carácter comodín no se aplica/
en el nombre del repositorio. Por lo tanto, en el último ejemplo, para enumerar todas las imágenes con etiqueta,latest
el comandodocker images --filter=reference='*:latest'
es incorrecto. El comando correcto esdocker images --filter=reference='*/*:latest'
.--filter name=something
, y todo el tiempo, ¡la solución simple fue que no necesita un filtro (n explícito) en absoluto!openapitools/openapi-generator-cli
,docker images open*
no la encontrarás. Perodocker images open*/*
lo encontraré.En Docker v1.7:
Los filtros admitidos actualmente son:
true
ofalse
)label=<key>
olabel=<key>=<value>
)fuente
before=<image-name>[:tag]|<image-id>|<image@digest>
&since=(<image-name>[:tag]|<image-id>|<image@digest>)
Para mi,
Hizo el truco. El comando de fecha puede producir una salida en el mismo formato a través de
lo que me permite comparar marcas de tiempo. Sin embargo, sigo usando el filtro para colgar imágenes por conveniencia.
fuente
Para la limpieza de contenedores viejos tapados puede utilizar:
docker container prune
Para eliminar imágenes sin etiquetar, puede utilizar:
docker image prune
fuente
Hay otro ejemplo, funciona con la versión 17.09 ++:
Explicación:
reference
- estamos referenciando imágenes por nombre de repositorio;dangling=true
- estamos eliminando imágenes sin etiquetar;-q
- significa silencioso, mostrando solo identificaciones numéricas de imágenes, en lugar de una línea completa.Este comando elimina todas las imágenes que tienen un nombre de repositorio "registry.gitlab.com/example-app" y sin etiquetar (tienen
<none>
en una columna de etiqueta)Enlace de referencia: https://docs.docker.com/engine/reference/commandline/images/#filtering
fuente