Eliminar imágenes locales en Docker

Isaac Tony 15 febrero 2024
  1. Eliminar imágenes locales no utilizadas y colgantes en Docker
  2. Eliminar imágenes locales específicas en Docker
  3. Eliminar imágenes locales sin etiquetar usando filtros en Docker
  4. Eliminar todas las imágenes locales en Docker
Eliminar imágenes locales en Docker

Este tutorial presentará los métodos para eliminar imágenes locales en Docker.

Eliminar imágenes locales no utilizadas y colgantes en Docker

Suponga que además de tener imágenes Dockers sin etiquetar, también tiene imágenes sin usar y algunos contenedores que también desea eliminar. En ese caso, opte por el comando que se muestra a continuación.

$ docker system prune -a

Este comando aparecerá con una advertencia que le informará que si selecciona sí, este comando:

  • Eliminar todos los contenedores detenidos;
  • Eliminar todas las redes no utilizadas por al menos un contenedor;
  • Eliminar todas las imágenes sin al menos un contenedor asociado a ellas;
  • Eliminar todo el caché.

Sin embargo, si este comando no se ajusta a lo que necesita lograr y solo desea eliminarlo:

  • Imágenes sin etiquetar o colgando;
  • Contenedores parados;
  • Caché colgante;
  • Redes no utilizadas por al menos un contenedor.

En este caso, use el comando prune sin incluir la etiqueta -a, como se muestra a continuación.

$ docker system prune

Eliminar imágenes locales específicas en Docker

También es posible que deseemos eliminar una imagen específica de nuestro sistema local y dejar todos los demás archivos intactos.

En ese caso, necesitaremos una identificación de imagen de esas imágenes particulares que nos gustaría eliminar. Podemos acceder a ella a través de la página de imágenes en la aplicación de escritorio Docker.

Acceso a ID de imagen mediante Docker Desktop

También podemos acceder a la identificación de la imagen usando nuestro terminal o Docker CLI ejecutando el siguiente comando.

isaactonyloi@DESKTOP-HV44HT6:~$ docker images -a
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

Ahora que hemos obtenido la ID de la imagen, podemos eliminar esa imagen específica usando el comando docker rmi agregar a la ID de las imágenes como se muestra a continuación.

$ docker rmi c316d5a335a5

Producción :

Untagged: nginx:latest
Untagged: nginx@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Deleted: sha256:c316d5a335a5cf324b0dc83b3da82d7608724769f6454f6d9a621f3ec2534a5a
Deleted: sha256:67e568696593c33b4a15c9d81dc6f67499b8d973b88eb49b53d47bf4dbf4d187
Deleted: sha256:0f8d4e3d979c540644f248b4206cf540978166b095223bdc950628dca2e8f3f1
Deleted: sha256:5d75bfe8a7422476a495b27c8a1598d1206137631d350b8bdee13bc88f365282
Deleted: sha256:8284a9e28c625b2826efdd6160ea1ff7f710881a4a2afe1ef58a5eb51d3f919e
Deleted: sha256:89a1db9e1079b7574c1a707bc8c1fe04ff723bc71d4bca8bc48653e9a32186d2
Deleted: sha256:7d0ebbe3f5d26c1b5ec4d5dbb6fe3205d7061f9735080b0162d550530328abd6

Eliminar imágenes locales sin etiquetar usando filtros en Docker

También podemos usar filtros y comodines para identificar imágenes colgantes, es decir, imágenes que no están asociadas a ningún contenedor. Podemos localizar imágenes que cumplan la condición dangling=true utilizando la etiqueta de filtro -f.

El siguiente comando debe enumerar todas las imágenes no asociadas con ningún contenedor. Sin embargo, tenga en cuenta que si no hay imágenes sin etiquetar en su sistema, el comando solo devolverá los encabezados.

$ docker images -a -f dangling=true
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

Eliminar todas las imágenes locales en Docker

La etiqueta -q nos permite recuperar y enumerar todas las identificaciones de imágenes en nuestro sistema local cuando se usa junto con la etiqueta -a.

$ docker images -a -q
54c9d81cbb44
c316d5a335a5

Con este comando, podemos enumerar todas las imágenes en docker rmi para eliminar todas las imágenes de nuestro sistema. Así es como podemos anidar ese comando para eliminar todas las imágenes.

$ docker rmi $(docker images -a -q)

Producción :

Untagged: ubuntu:latest
Untagged: ubuntu@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db83444636c300170cfd211e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f688797f2f1e3af224c29593310578d2
Autor: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Artículo relacionado - Docker Image