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

0 acciones
0
0
0
0

Introducción

Docker facilita empaquetar tus aplicaciones y servicios en contenedores para que puedas ejecutarlos en cualquier lugar. Sin embargo, al trabajar con Docker, también es fácil acumular una gran cantidad de imágenes, contenedores y volúmenes de datos sin usar que saturan la salida y consumen espacio en disco. Docker te ofrece todas las herramientas necesarias para limpiar tu sistema desde la línea de comandos. Esta guía, a modo de hoja de referencia rápida, ofrece una referencia rápida a comandos útiles para liberar espacio en disco y organizar tu sistema eliminando imágenes, contenedores y volúmenes de Docker sin usar.

Cómo utilizar esta guía:
  • Esta guía tiene la forma de una hoja de trucos con fragmentos de línea de comandos independientes.
  • Vaya a cada sección relacionada con la tarea que desea completar.

Eliminar todas las imágenes, contenedores y volúmenes

Docker proporciona un único comando que limpia cualquier recurso, como imágenes, contenedores, volúmenes y redes:

docker system prune

Para eliminar los contenedores detenidos y todas las imágenes no utilizadas, agregue -a al comando:

docker system prune -a

Eliminar imágenes de Docker

Usa el comando docker images con -a para encontrar el ID de las imágenes que quieres eliminar. Esto te mostrará cada imagen, incluyendo las capas intermedias. Una vez que encuentres las imágenes que quieres eliminar, puedes pasar su ID o etiqueta a docker rmi:

Lista:

docker images -a

Eliminación:

docker rmi Image Image

Eliminar imágenes colgadas

Las imágenes de Docker se componen de varias capas. Las imágenes colgantes son capas que no tienen conexión con ninguna imagen etiquetada. Ya no cumplen su función y consumen espacio en disco. Se pueden encontrar añadiendo el filtro -f con el valor dangling=true al comando docker images. Cuando esté seguro de que desea eliminarlas, puede usar el comando docker image prune:

Lista:

docker images -f dangling=true

Eliminación:

docker image prune

Eliminar imágenes según un patrón

Usando Docker Images y grep, puede encontrar todas las imágenes que coinciden con un patrón. Una vez que esté satisfecho, puede eliminarlas usando awk para pasar los ID a Docker RMI. Tenga en cuenta que estas herramientas no son proporcionadas por Docker y no están necesariamente disponibles en todos los sistemas.

Lista:

docker images -a | grep "pattern"

Eliminación:

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

Eliminar todas las imágenes.

Se pueden agregar todas las imágenes de Docker en un sistema agregando -a Enumere todas las imágenes con el comando docker images. Una vez que esté seguro de que desea eliminarlas todas, puede... -q Agregar para pasar el ID de la imagen a Docker RMI Enviar:

Lista:

docker images -a

Eliminación:

docker rmi $(docker images -a -q)

Eliminar (eliminar plantilla):

Utilice el comando docker ps con -a para encontrar el nombre o ID de los contenedores que desea eliminar:

Lista:

docker ps -a

Eliminación:

docker rm ID_or_Name ID_or_Name

Eliminar todo formato de salida

Puedes utilizar contenedores con docker ps -a Encuéntrelos y fíltrelos por estado: creado, reiniciado, en ejecución, en pausa o cerrado. Para revisar la lista de contenedores cerrados, use -f para filtrar por estado. Una vez que haya confirmado que desea eliminar esos contenedores, use -q para pasar los identificadores al comando docker rm:

Lista:

docker ps -a -f status=exited

Eliminación:

docker rm $(docker ps -a -f status=exited -q)

Eliminar plantilla usando más de un filtro

Los filtros de Docker se pueden combinar repitiendo el filtro con un valor adicional. Esto genera una lista de contenedores que cumplen cada una de estas condiciones. Por ejemplo, si desea eliminar todos los contenedores marcados como creados (estado que ocurre cuando un contenedor se ejecuta con un comando no válido) o cerrados, puede usar dos filtros:

Lista:

docker ps -a -f status=exited -f status=created

Eliminación:

docker rm $(docker ps -a -f status=exited -f status=created -q)

Cortar el molde siguiendo un patrón.

Puede encontrar todos los contenedores que coinciden con un patrón mediante una combinación de docker ps y grep. Una vez que esté satisfecho con la lista que desea eliminar, puede usar awk y xargs para proporcionar el ID a docker rm. Tenga en cuenta que estas herramientas no las proporciona Docker y no están necesariamente disponibles en todos los sistemas:

Lista:

docker ps -a | grep "pattern”

Eliminación:

docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm

Detener y eliminar todas las plantillas.

Puede comprobar los contenedores en su sistema con docker ps. Al añadir "-a", se mostrarán todos los contenedores. Una vez que esté seguro de que desea eliminarlos, puede añadir "-q" a los comandos docker stop y docker rm para proporcionar los identificadores:

Lista:

docker ps -a

Eliminación:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Eliminar volúmenes

Eliminar uno o más volúmenes específicos: Docker 1.9 y superior

Dado que los volúmenes están diseñados para existir independientemente de los contenedores, al eliminar una plantilla, no se elimina automáticamente un volumen al mismo tiempo. Cuando un volumen existe y ya no está asociado a ningún contenedor, se denomina volumen pendiente. Para determinar su ubicación y confirmar que desea eliminarlos, puede usar el comando docker volume ls con un filtro para limitar los resultados a los volúmenes pendientes. Una vez que esté satisfecho con la lista, puede eliminarlos todos con docker volume prune:

Lista:

docker volume ls -f dangling=true

Eliminación:

docker volume prune

Tome una plantilla y su volumen.

Si ha creado un volumen sin nombre, puede eliminarlo al mismo tiempo que el contenedor con -v. Tenga en cuenta que esto solo funciona con volúmenes sin nombre. Cuando el volumen se elimina correctamente, se muestra su ID. Tenga en cuenta que no se menciona la eliminación del volumen. Si no tiene nombre, se elimina silenciosamente del sistema. Si tiene nombre, permanece presente silenciosamente.

Eliminación:

docker rm -v container_name

Resultado

Esta guía abarca algunos de los comandos comunes para eliminar imágenes, contenedores y volúmenes con Docker. Existen muchas otras combinaciones y opciones que se pueden usar con cada uno de ellos. Para obtener una guía completa sobre las opciones disponibles, consulte la documentación de Docker sobre la poda del sistema. Docker, Docker RMI, docker-rm y eliminación de volumen de Docker Ver. Si hay alguna tarea de limpieza común que te gustaría ver en la guía, pregúntala o haz sugerencias en los comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar