docker image ls
| Descripción | Muestra las imágenes |
|---|---|
| Uso | docker image ls [OPTIONS] [REPOSITORY[:TAG]] |
| Alias | docker image list
docker images |
Descripción
Por defecto, docker images mostrará todas las imágenes de nivel superior,
sus repositorios y etiquetas, y sus tamaños.
Las imágenes de Docker tienen capas intermedias que aumentan la reutilización,
disminuyen el uso de disco y aceleran el docker build al permitir
que cada paso sea cacheado. Estas capas intermedias no se muestran
por defecto.
Las imágenes sin etiqueta (huérfanas o dangling) también están ocultas por defecto. Usa la
opción -a (--all) para mostrar las capas intermedias y las imágenes huérfanas.
El valor SIZE (tamaño) es el espacio acumulado que ocupa la imagen y todas
sus imágenes principales (parent images). Este es también el espacio de disco utilizado por el contenido del
archivo Tar creado cuando haces docker save de una imagen.
Una imagen aparecerá en la lista más de una vez si tiene múltiples nombres de repositorio
o etiquetas. Esta única imagen (identificable por su IMAGE ID coincidente)
utiliza el SIZE indicado una sola vez.
Opciones
| Opción | Predeterminado | Descripción |
|---|---|---|
-a, --all | Muestra todas las imágenes (por defecto se ocultan las imágenes intermedias y huérfanas) | |
--digests | Muestra los digests | |
-f, --filter | Filtra la salida basándose en las condiciones provistas | |
--format | Formatea la salida utilizando una plantilla personalizada: 'table': Imprime la salida en formato de tabla con encabezados de columna (por defecto) 'table TEMPLATE': Imprime la salida en formato de tabla utilizando la plantilla Go provista 'json': Imprime en formato JSON 'TEMPLATE': Imprime la salida utilizando la plantilla Go provista. Refer to https://docs-docker.esdocu.com/go/formatting/ for more information about formatting output with templates | |
--no-trunc | No trunca la salida | |
-q, --quiet | Solo muestra los IDs de las imágenes | |
--tree | API 1.47+ experimental (CLI) Muestra imágenes multiplataforma como un árbol (EXPERIMENTAL) |
Ejemplos
Listar las imágenes creadas más recientemente
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 77af4d6b9913 19 hours ago 1.089 GB
committ latest b6fa739cedf5 19 hours ago 1.089 GB
<none> <none> 78a85c484f71 19 hours ago 1.089 GB
docker latest 30557a29d5ab 20 hours ago 1.089 GB
<none> <none> 5ed6274db6ce 24 hours ago 1.089 GB
postgres 9 746b819f315e 4 days ago 213.4 MB
postgres 9.3 746b819f315e 4 days ago 213.4 MB
postgres 9.3.5 746b819f315e 4 days ago 213.4 MB
postgres latest 746b819f315e 4 days ago 213.4 MB
Listar imágenes por nombre y etiqueta
El comando docker images toma un argumento opcional [REPOSITORY[:TAG]]
que restringe la lista a las imágenes que coinciden con el argumento. Si especificas
REPOSITORY pero no TAG, el comando docker images enumera todas las imágenes en el
repositorio indicado.
Por ejemplo, para listar todas las imágenes en el repositorio java, ejecuta el siguiente comando:
$ docker images java
REPOSITORY TAG IMAGE ID CREATED SIZE
java 8 308e519aac60 6 days ago 824.5 MB
java 7 493d82594c15 3 months ago 656.3 MB
java latest 2711b1d6f3aa 5 months ago 603.9 MB
El valor [REPOSITORY[:TAG]] debe ser una coincidencia exacta. Esto significa que, por ejemplo,
docker images jav no coincide con la imagen java.
Si se proporcionan tanto REPOSITORY como TAG, solo se enumeran las imágenes que coinciden con ese
repositorio y etiqueta. Para encontrar todas las imágenes locales en el repositorio java
con la etiqueta 8, puedes usar:
$ docker images java:8
REPOSITORY TAG IMAGE ID CREATED SIZE
java 8 308e519aac60 6 days ago 824.5 MB
Si nada coincide con REPOSITORY[:TAG], la lista estará vacía.
$ docker images java:0
REPOSITORY TAG IMAGE ID CREATED SIZE
Mostrar los IDs de imagen completos (--no-trunc)
$ docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> sha256:77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182 19 hours ago 1.089 GB
committest latest sha256:b6fa739cedf5ea12a620a439402b6004d057da800f91c7524b5086a5e4749c9f 19 hours ago 1.089 GB
<none> <none> sha256:78a85c484f71509adeaace20e72e941f6bdd2b25b4c75da8693efd9f61a37921 19 hours ago 1.089 GB
docker latest sha256:30557a29d5abc51e5f1d5b472e79b7e296f595abcf19fe6b9199dbbc809c6ff4 20 hours ago 1.089 GB
<none> <none> sha256:0124422dd9f9cf7ef15c0617cda3931ee68346455441d66ab8bdc5b05e9fdce5 20 hours ago 1.089 GB
<none> <none> sha256:18ad6fad340262ac2a636efd98a6d1f0ea775ae3d45240d3418466495a19a81b 22 hours ago 1.082 GB
<none> <none> sha256:f9f1e26352f0a3ba6a0ff68167559f64f3e21ff7ada60366e2d44a04befd1d3a 23 hours ago 1.089 GB
tryout latest sha256:2629d1fa0b81b222fca63371ca16cbf6a0772d07759ff80e8d1369b926940074 23 hours ago 131.5 MB
<none> <none> sha256:5ed6274db6ceb2397844896966ea239290555e74ef307030ebb01ff91b1914df 24 hours ago 1.089 GB
Mostrar los digests de las imágenes (--digests)
Las imágenes que utilizan el formato v2 o posterior tienen un identificador direccionable por contenido
llamado digest. Mientras el contenido utilizado para generar la imagen no cambie,
el valor del digest es predecible. Para listar los valores de digest de las imágenes, usa
la opción --digests:
$ docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
localhost:5000/test/busybox <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536 9 weeks ago 2.43 MB
Al enviar (push) o descargar (pull) de un registro 2.0, la salida del comando push o pull
incluye el digest de la imagen. Puedes descargar (pull) usando un valor de digest. También puedes
hacer referencia por digest en los comandos create, run y rmi, así como en la referencia de imagen
FROM en un Dockerfile.
Filtrar (--filter)
El formato de la opción de filtrado (-f o --filter) es "clave=valor". Si hay más
de un filtro, pasa múltiples opciones (por ejemplo, --filter "foo=bar" --filter "bif=baz").
Los filtros actualmente soportados son:
- dangling (booleano - true o false)
- label (
label=<clave>olabel=<clave>=<valor>) - before (
<nombre-imagen>[:<etiqueta>],<id imagen>o<imagen@digest>) - filtra imágenes creadas antes del ID o las referencias indicadas - since (
<nombre-imagen>[:<etiqueta>],<id imagen>o<imagen@digest>) - filtra imágenes creadas desde el ID o las referencias indicadas - reference (patrón de una referencia de imagen) - filtra imágenes cuya referencia coincide con el patrón especificado
Mostrar imágenes sin etiqueta (huérfanas o dangling)
$ docker images --filter "dangling=true"
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 8abc22fbb042 4 weeks ago 0 B
<none> <none> 48e5f45168b9 4 weeks ago 2.489 MB
<none> <none> bf747efa0e2f 4 weeks ago 0 B
<none> <none> 980fe10e5736 12 weeks ago 101.4 MB
<none> <none> dea752e4e117 12 weeks ago 101.4 MB
<none> <none> 511136ea3c5a 8 months ago 0 B
Esto mostrará imágenes sin etiqueta que son las hojas del árbol de imágenes (no
las capas intermedias). Estas imágenes se producen cuando una nueva construcción de una imagen le quita
la etiqueta repo:tag al ID de la imagen, dejándola como <none>:<none> o sin etiqueta.
Se emitirá una advertencia si intentas eliminar una imagen cuando un contenedor la está
utilizando actualmente. Tener esta opción facilita la limpieza por lotes.
Puedes usar esto junto con docker rmi:
$ docker rmi $(docker images -f "dangling=true" -q)
8abc22fbb042
48e5f45168b9
bf747efa0e2f
980fe10e5736
dea752e4e117
511136ea3c5a
Docker te advierte si existen contenedores que están usando estas imágenes sin etiqueta.
Mostrar imágenes con una etiqueta determinada
El filtro label busca coincidencias en imágenes basándose únicamente en la presencia de una etiqueta (label) o en una etiqueta y un
valor.
El siguiente filtro coincide con imágenes que tienen la etiqueta com.example.version independientemente de su valor.
$ docker images --filter "label=com.example.version"
REPOSITORY TAG IMAGE ID CREATED SIZE
match-me-1 latest eeae25ada2aa About a minute ago 188.3 MB
match-me-2 latest dea752e4e117 About a minute ago 188.3 MB
El siguiente filtro coincide con imágenes que tienen la etiqueta com.example.version con el valor 1.0.
$ docker images --filter "label=com.example.version=1.0"
REPOSITORY TAG IMAGE ID CREATED SIZE
match-me latest 511136ea3c5a About a minute ago 188.3 MB
En este ejemplo, con el valor 0.1, devuelve un conjunto vacío porque no se encontraron coincidencias.
$ docker images --filter "label=com.example.version=0.1"
REPOSITORY TAG IMAGE ID CREATED SIZE
Filtrar imágenes por tiempo
El filtro before muestra solo imágenes creadas antes de la imagen con
un ID o referencia dados. Por ejemplo, teniendo estas imágenes:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
image1 latest eeae25ada2aa 4 minutes ago 188.3 MB
image2 latest dea752e4e117 9 minutes ago 188.3 MB
image3 latest 511136ea3c5a 25 minutes ago 188.3 MB
Filtrar con before daría como resultado:
$ docker images --filter "before=image1"
REPOSITORY TAG IMAGE ID CREATED SIZE
image2 latest dea752e4e117 9 minutes ago 188.3 MB
image3 latest 511136ea3c5a 25 minutes ago 188.3 MB
Filtrar con since daría como resultado:
$ docker images --filter "since=image3"
REPOSITORY TAG IMAGE ID CREATED SIZE
image1 latest eeae25ada2aa 4 minutes ago 188.3 MB
image2 latest dea752e4e117 9 minutes ago 188.3 MB
Filtrar imágenes por referencia
El filtro reference muestra solo imágenes cuya referencia coincide
con el patrón especificado.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest e02e811dd08f 5 weeks ago 1.09 MB
busybox uclibc e02e811dd08f 5 weeks ago 1.09 MB
busybox musl 733eb3059dce 5 weeks ago 1.21 MB
busybox glibc 21c16b6787c6 5 weeks ago 4.19 MB
Filtrar con reference daría como resultado:
$ docker images --filter=reference='busy*:*libc'
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox uclibc e02e811dd08f 5 weeks ago 1.09 MB
busybox glibc 21c16b6787c6 5 weeks ago 4.19 MB
Filtrar con múltiples reference daría como resultado la coincidencia con A o B:
$ docker images --filter=reference='busy*:uclibc' --filter=reference='busy*:glibc'
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox uclibc e02e811dd08f 5 weeks ago 1.09 MB
busybox glibc 21c16b6787c6 5 weeks ago 4.19 MB
Formatear la salida (--format)
La opción de formato (--format) permite imprimir la salida de los contenedores de forma atractiva
utilizando una plantilla Go.
A continuación se enumeran los marcadores de posición válidos para la plantilla Go:
| Marcador de posición | Descripción |
|---|---|
.ID | ID de la imagen |
.Repository | Repositorio de la imagen |
.Tag | Etiqueta de la imagen |
.Digest | Digest de la imagen |
.CreatedSince | Tiempo transcurrido desde que se creó la imagen |
.CreatedAt | Hora en que se creó la imagen |
.Size | Tamaño de la imagen en disco |
Cuando se utiliza la opción --format, el comando image devolverá
los datos exactamente como lo declara la plantilla o, cuando se utiliza la
directiva table, también incluirá los encabezados de las columnas.
El siguiente ejemplo utiliza una plantilla sin encabezados y muestra las
entradas ID y Repository separadas por dos puntos (:) para todas las imágenes:
$ docker images --format "{{.ID}}: {{.Repository}}"
77af4d6b9913: <none>
b6fa739cedf5: committ
78a85c484f71: <none>
30557a29d5ab: docker
5ed6274db6ce: <none>
746b819f315e: postgres
746b819f315e: postgres
746b819f315e: postgres
746b819f315e: postgres
Para listar todas las imágenes con su repositorio y etiqueta en formato de tabla puedes usar:
$ docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
77af4d6b9913 <none> <none>
b6fa739cedf5 committ latest
78a85c484f71 <none> <none>
30557a29d5ab docker latest
5ed6274db6ce <none> <none>
746b819f315e postgres 9
746b819f315e postgres 9.3
746b819f315e postgres 9.3.5
746b819f315e postgres latest
Para listar todas las imágenes en formato JSON, usa la directiva json:
$ docker images --format json
{"Containers":"N/A","CreatedAt":"2021-03-04 03:24:42 +0100 CET","CreatedSince":"5 days ago","Digest":"\u003cnone\u003e","ID":"4dd97cefde62","Repository":"ubuntu","SharedSize":"N/A","Size":"72.9MB","Tag":"latest","UniqueSize":"N/A"}
{"Containers":"N/A","CreatedAt":"2021-02-17 22:19:54 +0100 CET","CreatedSince":"2 weeks ago","Digest":"\u003cnone\u003e","ID":"28f6e2705743","Repository":"alpine","SharedSize":"N/A","Size":"5.61MB","Tag":"latest","UniqueSize":"N/A"}