Borrar imágenes de Docker: métodos y escenarios habituales
Las imágenes de Docker pueden llegar a ocupar mucho espacio de almacenamiento en tu sistema host o en tu registro de contenedores. 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 almacenamiento es limitado.
¿Cuándo hay que borrar imágenes de Docker?
Las Docker images se crean a partir de los denominados archivos Docker, que definen pasos para configurar la infraestructura de contenedores. Estas imágenes pueden utilizarse para iniciar los Docker containers, que ejecutan la aplicación o el servicio en un entorno aislado y consistente.
No obstante, tener muchas imágenes puede afectar al rendimiento de tu infraestructura Docker y ocupar demasiado espacio de almacenamiento. Cuando Docker busca una imagen, tiene que recorrer todas las imágenes disponibles para encontrar la correcta. Por ello, al borrar imágenes de Docker innecesarias estarás aumentando la eficiencia y reducirás los tiempos de búsqueda, además de proteger tu sistema ante posibles riesgos.
Por último, pero no por ello menos importante, cuando los ciclos de desarrollo y pruebas hayan finalizado y hayas terminado de utilizar una imagen, deberías eliminarla para liberar espacio.
- vCPU económico con núcleos dedicados
- Flexible y sin periodo mínimo contractual
- Soporte experto 24/7
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
bashEl resultado contiene informació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
bashTen en cuenta que solo puedes borrar imágenes de Docker si no hay ningún contenedor activo que dependa de ellas. Por lo tanto, antes de borrar una imagen, deberás detener primero el contenedor correspondiente y eliminarlo.
Eliminar imágenes Docker sin referencia
La eliminación de imágenes sin referencia implica suprimir Docker Images que los contenedores activos u otras imágenes ya no están utilizando. Estas imágenes sin referencia o no utilizadas pueden acumularse 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 referencia
En primer lugar, puedes obtener una lista de las imágenes sin referencia para comprobar qué imágenes deben eliminarse.
docker images -f dangling=true
bashPaso 2. Eliminar imágenes sin referencia
Con el siguiente comando puedes borrar todas las imágenes sin referencia y liberar espacio de almacenamiento.
docker images purge
bashEliminar Docker Images según un patrón
La eliminación de imágenes Docker según un patrón o prefijo determinado 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 pertenecen a una categoría específica.
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"
bashPaso 2. Borrar imágenes de Docker
Una vez que hayas elegido un patrón, puedes filtrar todas las imágenes que coincidan con él utilizando awk
para extraer los ID de las imágenes. A continuación, puedes borrarlas con el comando xargs docker rmi
.
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
bashEliminar todas las Docker Images
El proceso de borrar todas las imágenes del sistema debe realizarse con mucho cuidado, puesto que ya no se podrá volver atrás y los contenedores 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
bashPaso 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)
bashEn nuestra guía puedes encontrar más instrucciones para borrar Docker volumes o borrar Docker Containers. Además, te explicamos qué es Docker y en qué se diferencian los contenedores Docker y los Docker volumes.