Cómo eliminar todas las imágenes, contenedores, volúmenes y redes de Docker

Cómo eliminar todas las imágenes, contenedores, volúmenes y redes de Docker

Las imágenes Docker son la piedra angular de tu entorno Docker, ya que sirven como plantillas a partir de las cuales se crean los contenedores. Sin embargo, estas imágenes pueden acumularse con el tiempo, consumiendo un valioso espacio en disco y saturando tu sistema.

La eliminación de imágenes Docker y otros componentes redundantes no sólo sirve para liberar espacio, también es una práctica para mantener un entorno Docker limpio, eficiente y organizado.

En esta guía aprenderás a eliminar de forma segura imágenes, contenedores, volúmenes y redes Docker que ya no se utilizan, utilizando comandos como docker image prune, docker system prune y docker rmi.

También verás cómo identificar recursos colgantes, eliminar varios elementos a la vez y aplicar filtros para limpiar tu entorno sin afectar componentes activos, de modo que puedas recuperar espacio en disco y mantener Docker bajo control a medida que tu sistema crece.

Cómo eliminar todas las imágenes Docker y otros recursos no utilizados

Antes de limpiar las imágenes y recursos Docker, inicia sesión en tu servidor privado virtual (VPS) con un cliente SSH como PuTTY.

Uso del comando Docker Image Prune

Las imágenes Docker no utilizadas son aquellas que no están asociadas a ningún contenedor en ejecución o detenido. Este es el comando básico para podar imágenes Docker:

docker image prune

Se te pedirá que confirmes la eliminación. Una vez que lo apruebes, eliminará todas las imágenes Docker colgantes y no utilizadas.

Uso del comando Docker System Prune

El comando docker system prune elimina las imágenes, los contenedores, las redes y la caché de compilación que no se utilizan. Ejecuta el siguiente comando de Linux para eliminar estos recursos no utilizados:

docker system prune

Para una limpieza más exhaustiva que incluya volúmenes, utiliza:

docker system prune -a --volumes

[mensaje de advertencia=”¡Atención! Ten en cuenta que este comando purgará las imágenes Docker, los contenedores detenidos, las redes no utilizadas y la caché de compilación. Procede con precaución al utilizar este comando, ya que la acción es irreversible.”] [/mensaje]

Cómo eliminar imágenes Docker

Antes de realizar cualquier limpieza de imagen Docker, identifica el ID de la imagen. Para listar todas las imágenes Docker en tu sistema junto con sus IDs, ejecuta:

docker images

Si usas una versión más reciente de Docker en tu máquina local, utiliza el comando docker image ls en su lugar.

Cómo eliminar una sola imagen Docker

Eliminar una sola imagen Docker es sencillo, pero asegúrate de que eliminas la imagen correcta.

Uso del comando RMI de Docker

El comando principal para eliminar una sola imagen Docker es docker rmi, donde RMI significa eliminar imagen.

Por ejemplo, para eliminar una imagen con el ID a2a15febcdf3, utiliza el siguiente comando:

docker rmi a2a15febcdf3

Si la imagen especificada está siendo utilizada por un contenedor existente, el comando devolverá un error, evitando así su eliminación accidental.

El comando docker rmi también puede funcionar con el nombre del repositorio y la etiqueta si no tienes el ID de la imagen. Por ejemplo:

docker rmi ubuntu:latest

Este comando elimina la imagen de ubuntu con la última etiqueta.

Uso del comando RM de imagen Docker

El comando docker image rm funciona de forma similar y puede utilizarse indistintamente con docker rmi. Por ejemplo:

docker image rm a2a15febcdf3

Cómo eliminar varias imágenes

En determinados casos, puede que necesites eliminar varias imágenes Docker simultáneamente. Docker proporciona una forma sencilla de manejar esto.

Eliminación de varias imágenes Docker

Para eliminar varias imágenes Docker, utiliza el comando docker rmi seguido de los ID de imagen que desees eliminar.

Por ejemplo, para eliminar imágenes creadas con los ID a2a15febcdf3 y 4bb46517cac3, utiliza el siguiente comando:

docker rmi a2a15febcdf3 4bb46517cac3

Eliminación de todas las imágenes Docker

Si necesitas eliminar todas las imágenes de tu sistema, utiliza el siguiente comando:

docker rmi $(docker images -q)

El comando docker images -q lista los IDs de tus imágenes Docker. El uso de $() con docker rmi elimina todas sus imágenes Docker.

Si una imagen está siendo utilizada por un contenedor, el comando fallará para esa imagen específica pero continuará eliminando las demás.

Cómo eliminar imágenes colgantes

Una imagen colgante se produce cuando una nueva compilación sustituye a una imagen más antigua, haciendo que la anterior sea redundante.

Aunque las imágenes colgantes no suponen un problema directo, ocupan espacio innecesario en disco. Por lo tanto, es una buena práctica eliminar estas imágenes periódicamente.

Para identificar las imágenes colgantes, utiliza el comando docker images con el filtro dangling=true como se muestra a continuación:

docker images -f "dangling=true"

A continuación, puedes eliminar estas imágenes colgantes con el comando docker image prune.

Cómo eliminar imágenes basándose en un patrón

Puedes eliminar una imagen en Docker basándote en un patrón de nomenclatura o etiqueta específicos.

Uso de patrones para identificar imágenes concretas

Para eliminar imágenes Docker basadas en un patrón, combina el comando docker images con el comando grep para filtrar las imágenes objetivo.

Por ejemplo, para listar todas las imágenes pertenecientes a myproject, utiliza el siguiente comando:

docker images | grep "myproject"

Eliminación de imágenes según el patrón filtrado

Una vez identificadas las imágenes concretas, elimínalas combinando comandos. He aquí un ejemplo de eliminación de imágenes Docker con myproject en su nombre:

docker rmi $(docker images | grep "myproject" | awk "{print $3}")

El comando grep “myproject” filtra las imágenes, mientras que awk “{print $3}” extrae sus ID de imagen. La lista de ID de imagen resultante se pasa a docker rmi para su eliminación.

Cómo eliminar contenedores Docker

Los contenedores son instancias de imágenes Docker que se ejecutan como procesos. Antes de eliminar cualquier contenedor Docker, lista los contenedores de tu sistema con el comando docker ps.

docker ps

Ten en cuenta que este comando sólo muestra los contenedores en ejecución. Para ver todos los contenedores, incluidos los que se han detenido, añade el indicador -a:

docker ps -a

Cómo retirar un contenedor específico

Puedes eliminar los contenedores no utilizados tras identificar los que deseas eliminar por su ID de contenedor.

Uso del comando RM de Docker

El comando docker rm es la herramienta principal para eliminar un contenedor específico. Por ejemplo:

docker rm 4e5021d210f6

Sustituye 4e5021d210f6 por el ID real de tu contenedor.

Eliminación forzosa de un contenedor en ejecución

Si tiene contenedores Docker ejecutándose en tu sistema, utiliza el siguiente comando para detener el contenedor y luego borrarlo:

docker rm -f 4e5021d210f6

Alternativamente, puedes detener el contenedor con el comando docker stop y eliminarlo utilizando docker rm.

Cómo eliminar todos los contenedores detenidos

Los contenedores detenidos son aquellos que han completado sus tareas o han sido terminados manualmente. Para eliminar todos los contenedores detenidos, utiliza el comando docker container prune como se indica a continuación:

docker container prune

Este comando limpia y elimina todos los contenedores con estado stopped.

Utilizando el indicador –filter, puedes eliminar selectivamente los contenedores detenidos dentro de un periodo de tiempo específico. Por ejemplo:

docker container prune --filter "until=24h"

Cómo retirar los contenedores al salir

Configurar los contenedores para que se eliminen automáticamente al salir es útil en entornos con frecuentes creaciones y destrucciones de contenedores, como en las pruebas.

Para ello, incluye el indicador –rm al ejecutar el contenedor mediante el comando docker run. Por ejemplo:

docker run --rm <tu_imagen>

En este comando, sustituye <tu_imagen> por el nombre de la imagen deseada.

Cómo eliminar volúmenes Docker

Los volúmenes almacenan datos persistentes generados y utilizados por los contenedores Docker. Antes de eliminar cualquier volumen Docker, identifícalo primero utilizando el comando docker volume ls:

docker volume ls

Cómo eliminar un determinado volumen

Una vez que hayas identificado el volumen que deseas eliminar, utiliza el comando docker volume rm seguido del nombre del volumen. He aquí un ejemplo:

docker volume rm mi_volumen

Cómo eliminar todos los volúmenes no utilizados

Para eliminar todos los volúmenes Docker no utilizados y recuperar un valioso espacio en disco, ejecuta el siguiente comando:

docker volume prune

Cómo eliminar volúmenes con etiquetas adjuntas

Los volúmenes específicos de una etiqueta son los asignados a una o varias etiquetas. Estas etiquetas ayudan a orientar la eliminación en un proyecto, entorno u otras categorías específicas.

Búsqueda y eliminación de volúmenes por etiquetas

Para listar todos los volúmenes con una etiqueta específica, utiliza el comando docker volume ls con un filtro basado en la etiqueta. He aquí un ejemplo:

docker volume ls -f "label=project=myproject"

Una vez que identifiques los volúmenes que deseas eliminar, elimínalos individualmente con el comando docker volume rm, ya que Docker prohíbe eliminar varios volúmenes con un solo comando.

Automatización de la eliminación de volúmenes basada en etiquetas

Para un enfoque más automatizado, utiliza herramientas de línea de comandos como xargs. El siguiente comando combina el listado y la eliminación de volúmenes basándose en una etiqueta:

docker volume ls -qf "label=project=myproject" | xargs docker volume rm

Este comando lista todos los nombres de volumen con la etiqueta project=myproject y luego los pasa a docker volume rm para su eliminación.

Cómo eliminar las redes Docker

Las redes Docker permiten la comunicación entre contenedores. Para listar todas las redes Docker en tu sistema junto con sus IDs, ejecuta:

docker network ls

Cómo eliminar una red específica

Para eliminar una red Docker específica, utiliza el comando docker network rm seguido del ID o nombre de la red. Por ejemplo:

docker network rm 3cf8fbf4f034

También puedes utilizar el nombre de la red, como se muestra a continuación:

docker network rm mynetwork

Cómo eliminar todas las redes no utilizadas

Para eliminar todas las redes Docker no utilizadas, ejecuta este comando:

docker network prune

[mensaje de advertencia=”¡Atención! Ejecutar este comando borrará permanentemente cualquier configuración activa o ajustes relacionados con estas redes.”] [/mensaje]

Cómo eliminar redes con un plazo determinado

Para eliminar redes Docker dentro de un plazo determinado, utiliza el comando docker network prune con la opción –filter. He aquí un ejemplo:

docker network prune --filter "until=24h"

Puedes aplicar varios filtros simultáneamente. Por ejemplo, para eliminar las redes que no se han utilizado en los últimos 30 días (720 horas), ejecuta:

docker network prune --filter "unused=true" --filter "until=720h"

Buenas prácticas para eliminar imágenes en Docker

Aplicar las mejores prácticas para la eliminación de imágenes Docker es esencial para garantizar que tu entorno esté libre de desorden. También ayuda a evitar la pérdida accidental de datos.

A lo largo de esta sección, verás cómo pequeños hábitos, como planificar la eliminación de imágenes, automatizar tareas de mantenimiento y revisar dependencias antes de borrar recursos, contribuyen a reducir errores y facilitan la gestión del entorno a medida que crece y cambia.

Utiliza Kodee

La eficiencia y la precisión son vitales a la hora de gestionar un entorno Docker. Kodee, el asistente de inteligencia artificial de Hostinger, ofrece un enfoque racionalizado para optimizar el almacenamiento de imágenes Docker.

Disponible con todos los planes de alojamiento VPS de Hostinger, Kodee destaca en las consultas relacionadas con Docker. Puede proporcionar guías paso a paso, comandos y scripts para la eliminación eficaz de imágenes Docker.

Para utilizar el asistente Kodee con IA, sigue estos pasos:

  1. Accede a tu cuenta de Hostinger.
  2. Localiza el panel de control VPS y selecciona tu servidor.
  3. En la parte inferior derecha veras “Preguntar a Kodee”.

Introduce tu consulta sobre la gestión de imágenes Docker, como “¿Cómo elimino las imágenes Docker que no uso?” Kodee responderá con una respuesta completa, incluyendo los comandos o scripts pertinentes.

Uso de Kodee para solicitar la eliminación de imágenes Docker no utilizadas

Otro ejemplo es pedir a Kodee que liste todas las imágenes Docker disponibles en tu servidor:

Kodee responde a una pregunta sobre el listado de imágenes Docker en el VPS

Etiqueta y versiona tus imágenes Docker

Etiquetar y versionar correctamente es muy importante para agilizar el almacenamiento de imágenes Docker. He aquí algunas estrategias eficaces para etiquetar imágenes:

  • Utiliza etiquetas significativas: en lugar de utilizar etiquetas vagas como último, opta por otras más descriptivas. Por ejemplo, myapp:2.5.1 indica la versión 2.5.1 de la imagen myapp.
  • Etiqueta el ID de la imagen con la versión: al crear una imagen, etiquétala con un número de versión significativo. Por ejemplo, utiliza docker build -t myimage:1.0 para etiquetar tu imagen como versión 1.0.
  • Versionado semántico: adopta un esquema de versionado semántico, como mayor.menor.parche, para mayor claridad y coherencia. Por ejemplo, una actualización que corrige un error puede incrementar el número de parche, cambiando la versión a myapp:2.5.2.

Haz una copia de seguridad de imágenes importantes

Hacer copias de seguridad de las imágenes es vital para garantizar que están almacenadas de forma segura y son fácilmente recuperables en caso de borrado accidental o problemas imprevistos.

Existen varios métodos para crear copias de seguridad de imágenes Docker:

  • Exportación de imágenes: Docker permite exportar imágenes a un formato tarball, que puede almacenarse de forma segura. Esto proporciona una copia offline de tu imagen, disponible para ser recargada en Docker cuando sea necesario.
  • Uso del comando Docker save: para exportar una imagen, utiliza el comando docker save. Por ejemplo, para guardar una imagen llamada myapp:latest, ejecuta docker save myapp:latest > myapp_latest.tar.
  • Elige una ubicación segura: es esencial almacenar los archivos tar de imagen exportados en un entorno seguro y fiable. Las opciones incluyen el almacenamiento en la nube, un disco duro externo o cualquier otra solución externa que sea segura y accesible.

Revisa las dependencias de imagen

Las dependencias de imagen se refieren a las interrelaciones entre varias imágenes Docker. Eliminar una imagen sin tener en cuenta sus dependencias puede provocar que los contenedores no funcionen o que se pierdan datos en los volúmenes vinculados.

Para identificar y gestionar las dependencias de imágenes, considera las siguientes estrategias:

  • Documenta las relaciones entre imágenes: mantén una documentación clara y actualizada sobre tus imágenes Docker y sus interrelaciones. Esto te permite comprender las dependencias de un vistazo.
  • Utiliza el etiquetado estratégicamente: usa sabiamente etiquetas para indicar imágenes críticas o dependencias. Esto ayuda a evitar que se borren imágenes por accidente.
  • Comprobaciones periódicas de dependencias: realiza revisiones periódicas de tu entorno Docker para detectar cualquier cambio en las dependencias, especialmente antes de realizar limpiezas o actualizaciones importantes.

Todo el contenido de los tutoriales en este sitio web está sujeto a los rigurosos estándares y valores editoriales de Hostinger.

Author
El autor

Diego Boada

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.