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

docker image rm

DescripciónElimina una o más imágenes
Usodocker image rm [OPTIONS] IMAGE [IMAGE...]
Alias
docker image remove docker rmi

Descripción

Elimina (y quita la etiqueta de) una o más imágenes del nodo host. Si una imagen tiene múltiples etiquetas, usar este comando con la etiqueta como parámetro solo elimina la etiqueta. Si la etiqueta es la única que tiene la imagen, se eliminan tanto la imagen como la etiqueta.

Esto no elimina las imágenes de un registro. No puedes eliminar una imagen de un contenedor en ejecución a menos que uses la opción -f. Para ver todas las imágenes en un host, usa el comando docker image ls.

Opciones

OpciónPredeterminadoDescripción
-f, --forceFuerza la eliminación de la imagen
--no-pruneNo elimina los padres sin etiqueta
--platformAPI 1.50+ Elimina solo la variante de plataforma indicada. Formateado como os[/arch[/variant]] (p. ej., linux/amd64)

Ejemplos

Puedes eliminar una imagen usando su ID corto o largo, su etiqueta o su digest. Si una imagen tiene una o más etiquetas que la referencian, debes eliminarlas todas antes de que la imagen sea eliminada. Las referencias de digest se eliminan automáticamente cuando una imagen se elimina por etiqueta.

$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test1                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test                      latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test2                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

$ docker rmi fd484f19954f

Error: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories, use -f to force
2013/12/11 05:47:16 Error: failed to remove one or more images

$ docker rmi test1:latest

Untagged: test1:latest

$ docker rmi test2:latest

Untagged: test2:latest


$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test                      latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

$ docker rmi test:latest

Untagged: test:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Si usas la opción -f y especificas el ID corto o largo de la imagen, este comando quita las etiquetas y elimina todas las imágenes que coinciden con el ID especificado.

$ docker images

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
test1                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test                      latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)
test2                     latest              fd484f19954f        23 seconds ago      7 B (virtual 4.964 MB)

$ docker rmi -f fd484f19954f

Untagged: test1:latest
Untagged: test:latest
Untagged: test2:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8

Una imagen descargada por digest no tiene ninguna etiqueta asociada:

$ docker images --digests

REPOSITORY                     TAG       DIGEST                                                                    IMAGE ID        CREATED         SIZE
localhost:5000/test/busybox    <none>    sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf   4986bf8c1536    9 weeks ago     2.43 MB

Para eliminar una imagen usando su digest:

$ docker rmi localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
Untagged: localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125
Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2
Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b

Eliminar plataformas específicas (--platform)

La opción --platform te permite especificar qué variantes de plataforma de la imagen eliminar. Por defecto, docker image remove elimina todas las variantes de plataforma que estén presentes. Usa la opción --platform para indicar la variante de plataforma específica que deseas eliminar de la imagen.

Eliminar una plataforma específica remueve la imagen de todas las imágenes que referencian al mismo contenido, y requiere que se use la opción --force. Omitir la opción --force produce una advertencia y la eliminación se cancela:

$ docker image rm --platform=linux/amd64 alpine
Error response from daemon: Content will be removed from all images referencing this variant. Use —-force to force delete.

La opción de plataforma toma el formato os[/arch[/variant]]; por ejemplo, linux/amd64 o linux/arm64/v8. La arquitectura y la variante son opcionales y, si se omiten, toman por defecto la arquitectura nativa del demonio.

Puedes pasar múltiples plataformas ya sea pasando la opción --platform varias veces, o pasando una lista de plataformas separadas por comas. Los siguientes usos de esta opción son equivalentes:

$ docker image rm --platform linux/amd64 --platform linux/ppc64le myimage
$ docker image rm --platform linux/amd64,linux/ppc64le myimage

El siguiente ejemplo elimina las variantes linux/amd64 y linux/ppc64le de una imagen alpine que contiene múltiples variantes de plataforma en la caché de imágenes:

$ docker image ls --tree

IMAGE                   ID             DISK USAGE   CONTENT SIZE   EXTRA
alpine:latest           a8560b36e8b8       37.8MB         11.2MB    U
├─ linux/amd64          1c4eef651f65       12.1MB         3.64MB    U
├─ linux/arm/v6         903bfe2ae994           0B             0B
├─ linux/arm/v7         9c2d245b3c01           0B             0B
├─ linux/arm64/v8       757d680068d7       12.8MB         3.99MB
├─ linux/386            2436f2b3b7d2           0B             0B
├─ linux/ppc64le        9ed53fd3b831       12.8MB         3.58MB
├─ linux/riscv64        1de5eb4a9a67           0B             0B
└─ linux/s390x          fe0dcdd1f783           0B             0B

$ docker image --platform=linux/amd64,linux/ppc64le --force alpine
Deleted: sha256:1c4eef651f65e2f7daee7ee785882ac164b02b78fb74503052a26dc061c90474
Deleted: sha256:9ed53fd3b83120f78b33685d930ce9bf5aa481f6e2d165c42cbbddbeaa196f6f

Después de que el comando se completa, las variantes indicadas de la imagen alpine se eliminan de la caché de imágenes:

$ docker image ls --tree

IMAGE                   ID             DISK USAGE   CONTENT SIZE   EXTRA
alpine:latest           a8560b36e8b8       12.8MB         3.99MB
├─ linux/amd64          1c4eef651f65           0B             0B
├─ linux/arm/v6         903bfe2ae994           0B             0B
├─ linux/arm/v7         9c2d245b3c01           0B             0B
├─ linux/arm64/v8       757d680068d7       12.8MB         3.99MB
├─ linux/386            2436f2b3b7d2           0B             0B
├─ linux/ppc64le        9ed53fd3b831           0B             0B
├─ linux/riscv64        1de5eb4a9a67           0B             0B
└─ linux/s390x          fe0dcdd1f783           0B             0B