Las imágenes de Docker pueden llegar a ocupar mucho espacio de al­ma­ce­na­mie­n­to en tu sistema host o en tu registro de co­n­te­ne­do­res. Al borrar imágenes de Docker inactivas u obsoletas, dejas espacio para nuevas imágenes y datos, lo que es muy útil en entornos en los que el espacio de al­ma­ce­na­mie­n­to es limitado.

¿Cuándo hay que borrar imágenes de Docker?

Las Docker images se crean a partir de los de­no­mi­na­dos archivos Docker, que definen pasos para co­n­fi­gu­rar la in­frae­s­tru­c­tu­ra de co­n­te­ne­do­res. Estas imágenes pueden uti­li­zar­se para iniciar los Docker co­n­tai­ne­rs, que ejecutan la apli­ca­ción o el servicio en un entorno aislado y co­n­si­s­te­n­te.

No obstante, tener muchas imágenes puede afectar al re­n­di­mie­n­to de tu in­frae­s­tru­c­tu­ra Docker y ocupar demasiado espacio de al­ma­ce­na­mie­n­to. Cuando Docker busca una imagen, tiene que recorrer todas las imágenes di­s­po­ni­bles para encontrar la correcta. Por ello, al borrar imágenes de Docker in­ne­ce­sa­rias estarás au­me­n­ta­n­do la efi­cie­n­cia y reducirás los tiempos de búsqueda, además de proteger tu sistema ante posibles riesgos.

Por último, pero no por ello menos im­po­r­ta­n­te, cuando los ciclos de de­sa­rro­llo y pruebas hayan fi­na­li­za­do y hayas terminado de utilizar una imagen, deberías eli­mi­nar­la para liberar espacio.

Borrar una o más Docker Images

Para borrar una o varias imágenes Docker a la vez, puedes ejecutar el comando docker rmi con una lista de los nombres o ID de las imágenes.

Paso 1. Listar ID y etiquetas de imagen

Para obtener una lista de todas las imágenes de Docker en el sistema, utiliza el siguiente comando:

docker images -a
bash

El resultado contiene in­fo­r­ma­ción como los nombres de imagen, los ID de imagen, la fecha de creación, el tamaño y el creador de la imagen.

Paso 2. Borrar imágenes

Si quieres eliminar imágenes al mismo tiempo, puedes escribir los ID o nombres de las imágenes separados por un espacio.

docker rmi Image imagen
bash

Ten en cuenta que solo puedes borrar imágenes de Docker si no hay ningún co­n­te­ne­dor activo que dependa de ellas. Por lo tanto, antes de borrar una imagen, deberás detener primero el co­n­te­ne­dor co­rre­s­po­n­die­n­te y eli­mi­nar­lo.

Eliminar imágenes Docker sin re­fe­re­n­cia

La eli­mi­na­ción de imágenes sin re­fe­re­n­cia implica suprimir Docker Images que los co­n­te­ne­do­res activos u otras imágenes ya no están uti­li­za­n­do. Estas imágenes sin re­fe­re­n­cia o no uti­li­za­das pueden acu­mu­lar­se con el tiempo y ocupar espacio en el host Docker. Eliminar esas imágenes de vez en cuando ayuda a mejorar la gestión de recursos en el entorno Docker.

Paso 1. Listar imágenes sin re­fe­re­n­cia

En primer lugar, puedes obtener una lista de las imágenes sin re­fe­re­n­cia para comprobar qué imágenes deben eli­mi­nar­se.

docker images -f dangling=true
bash

Paso 2. Eliminar imágenes sin re­fe­re­n­cia

Con el siguiente comando puedes borrar todas las imágenes sin re­fe­re­n­cia y liberar espacio de al­ma­ce­na­mie­n­to.

docker images purge
bash

Eliminar Docker Images según un patrón

La eli­mi­na­ción de imágenes Docker según un patrón o prefijo de­te­r­mi­na­do permite borrar un grupo de imágenes a la vez si tienen en común un patrón de nombre. Esta acción te puede resultar útil si tienes muchas imágenes y solo quieres eliminar las que pe­r­te­ne­cen a una categoría es­pe­cí­fi­ca.

Paso 1. Enumerar Docker Images con grep

Puedes combinar el comando docker images con grep para mostrar las imágenes que coinciden con el patrón elegido.

docker images -a | grep "pattern"
bash

Paso 2. Borrar imágenes de Docker

Una vez que hayas elegido un patrón, puedes filtrar todas las imágenes que coincidan con él uti­li­za­n­do awk para extraer los ID de las imágenes. A co­n­ti­nua­ción, puedes borrarlas con el comando xargs docker rmi.

docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
bash

Eliminar todas las Docker Images

El proceso de borrar todas las imágenes del sistema debe rea­li­zar­se con mucho cuidado, puesto que ya no se podrá volver atrás y los co­n­te­ne­do­res asociados a dichas imágenes ya no podrían volver a iniciarse.

Paso 1. Enumerar todas las imágenes

En primer lugar, debes poder ver todas las imágenes activas e inactivas de tu sistema. Puedes lograrlo de la siguiente forma:

docker images -a
bash

Paso 2. Borrar todas las imágenes de Docker

Después, debes añadir el resultado al comando docker rmi para que las imágenes se eliminen.

docker rmi $(Docker-Images -a -q)
bash

En nuestra guía puedes encontrar más in­s­tru­c­cio­nes para borrar Docker volumes o borrar Docker Co­n­tai­ne­rs. Además, te ex­pli­ca­mos qué es Docker y en qué se di­fe­re­n­cian los co­n­te­ne­do­res Docker y los Docker volumes.

Ir al menú principal