Cómo eliminar el volumen de Docker y las imágenes de contenedor en Linux

27 feb 2021 5 min di lettura
Cómo eliminar el volumen de Docker y las imágenes de contenedor en Linux
Indice dei contenuti

Introducción

Docker facilita el empaquetado de aplicaciones y servicios en contenedores para que puedan ejecutarse en cualquier lugar. Sin embargo, al trabajar con Docker, también es fácil acumular cantidades excesivas de imágenes, contenedores y volúmenes de datos no utilizados que saturan la salida y consumen espacio en disco.

Docker ofrece todas las herramientas que necesita para limpiar su sistema desde la línea de comandos. Esta guía de estilo de hoja de trucos proporciona una referencia rápida a los comandos que son útiles para liberar espacio en el disco y mantener su sistema organizado al eliminar imágenes, contenedores y volúmenes de Docker no utilizados.

Como usar esta guia:

  • Esta guía está en formato de hoja de referencia con fragmentos de línea de comandos independientes
  • Vaya a cualquier sección relevante para la actividad que está intentando completar.

command $(command) utilizada en los comandos está disponible en muchos shells populares como bash, zsh y Windows Powershell.

Elimine todas las imágenes, contenedores, volúmenes y redes no utilizados o suspendidos

Docker proporciona un solo comando que limpiará todos los recursos (imágenes, contenedores, volúmenes y redes) que se cuelgan (no asociados con un contenedor):

docker system prune

Para eliminar aún más los contenedores fijos y las imágenes no utilizadas (no solo imágenes pendientes), agregue la -a al comando:

docker system prune -a

Eliminar imágenes de Docker

Elimina una o más imágenes específicas.

Utilice el comando de docker images -a para localizar el ID de las imágenes que desea eliminar. Esto le mostrará cada imagen, incluidas las capas intermedias de la imagen. Cuando haya localizado las imágenes que desea eliminar, puede pasar su ID o etiqueta a docker rmi:

Lista de imágenes:

docker images -a

Eliminar imágenes:

docker rmi Image Image

Eliminar imágenes colgantes

Las imágenes de Docker se componen de varias capas. Las imágenes pendientes son capas que no tienen relación con ninguna imagen etiquetada. Ya no tienen un propósito y consumen espacio en disco. Se pueden encontrar agregando la marca de filtro, -f con un valor de dangling=true al comando de docker images Cuando esté seguro de que desea eliminarlos, puede usar el comando de docker images purge

Nota: Si crea una imagen sin etiquetarla, la imagen aparecerá en la lista de imágenes pendientes porque no tiene asociación con una imagen etiquetada. Puede evitar esto proporcionando una etiqueta durante la creación, y puede etiquetar retroactivamente una imagen con el comando docker tag.

Enumere las imágenes pendientes:

docker images -f dangling=true

Eliminar imágenes pendientes:

docker image prune

Eliminar imágenes según un patrón

Puede encontrar todas las imágenes que coincidan con un patrón utilizando una combinación de docker images de Docker y grep. Una vez que esté seguro, puede eliminarlos usando awk para pasar las ID a docker rmi. Tenga en cuenta que Docker no proporciona estas utilidades y no están necesariamente disponibles en todos los sistemas:

Lista de imágenes con grep:

docker images -a | grep "pattern"

Elimina imágenes con grep y awk:

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

Quitar todas las imágenes

Todas las imágenes de Docker en un sistema se pueden enumerar agregando -a al comando de docker images Una vez que esté seguro de que desea eliminarlos todos, puede agregar la -q para pasar el ID de la imagen a docker rmi:

Lista de todas las imágenes:

docker images -a

Eliminar todas las imágenes:

docker rmi $(docker images -a -q)

Retirar los contenedores

Retire uno o más contenedores específicos.

Use el docker ps con la -a para ubicar el nombre o ID de los contenedores que desea eliminar:

Enumere todos los contenedores:

docker ps -a

Retire todos los contenedores:

docker rm ID_or_Name ID_or_Name

Retire un contenedor a la salida

Si sabe cuando está creando un contenedor que no querrá conservarlo una vez que haya terminado, puede usar el docker run --rm para eliminarlo automáticamente cuando salga.

Ejecutar y quitar:

docker run --rm image_name

Retirar todos los contenedores que hayan salido (apagado)

Puede ubicar contenedores usando docker ps -a y filtrarlos según su estado: creado, reiniciado, en ejecución, en pausa o salido. Para revisar la lista de contenedores salidos, use la -f para filtrar por estado. Después de verificar si desea eliminar esos contenedores, use la -q para pasar las ID al comando docker rm

Enumere todos los contenedores "Salidos":

docker ps -a -f status=exited

Eliminar todos los contenedores "Salidos":

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

Retire los contenedores usando más de un filtro

Los filtros de Docker se pueden combinar repitiendo la marca de filtro con un valor adicional. Esto da como resultado una lista de contenedores que cumplen ambas condiciones. Por ejemplo, si desea eliminar todos los contenedores marcados como Creado (un estado que puede resultar cuando se ejecuta un contenedor con un comando no válido) o Salido, puede usar dos filtros:

Enumere los contenedores filtrados:

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

Retire los envases filtrados:

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

Retire los contenedores de acuerdo con un esquema.

Puede encontrar todos los contenedores que coincidan con un patrón utilizando una combinación de docker ps y grep. Cuando esté satisfecho de tener la lista que desea eliminar, puede usar awk y xargs para proporcionar la ID al comando docker rmi Tenga en cuenta que estas utilidades no las proporciona Docker y no están necesariamente disponibles en todos los sistemas:

Enumere los contenedores según un esquema:

docker ps -a | grep "pattern"

Retire los contenedores de acuerdo con un esquema:

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

Deténgase y retire todos los contenedores.

Puede revisar los contenedores en su sistema con docker ps. Agregar la -a mostrará todos los contenedores. Cuando esté seguro de que desea eliminarlos, puede agregar la -q para proporcionar los ID a los docker stop y docker rm:

Listar:

docker ps -a

Para eliminar:

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

Quite uno o más volúmenes específicos: Docker 1.9 y posterior

Utilice el docker volume ls para ubicar el nombre o los nombres de volumen que desea eliminar. Luego, puede eliminar uno o más volúmenes con el comando docker volume rm

Enumere los volúmenes:

docker volume ls

Eliminar los volúmenes:

docker volume rm volume_name

Eliminar volúmenes suspendidos: Docker 1.9 y posterior

Debido a que el punto de los volúmenes debe ser independiente de los contenedores, cuando se retira un contenedor, un volumen no se elimina automáticamente al mismo tiempo. Cuando existe un volumen y ya no está unido a ningún contenedor, se denomina volumen colgante. Para encontrarlos y confirmar que desea eliminarlos, puede usar el docker volume ls con un filtro para limitar los resultados a volúmenes suspendidos. Cuando esté seguro de la lista, puede eliminarlos todos con docker volume prune:

Listar volúmenes suspendidos:

docker volume ls -f dangling=true

Para eliminar volúmenes suspendidos:

docker volume prune

Retire un recipiente y su volumen.

Si ha creado un volumen sin nombre, puede eliminarlo al mismo tiempo que el contenedor con el indicador -v Tenga en cuenta que solo funciona con volúmenes sin nombre. Cuando el contenedor se retira con éxito, se muestra su ID. Tenga en cuenta que no se hace referencia a la eliminación del volumen. Si no tiene nombre, se elimina silenciosamente del sistema. Si es designado, permanece presente en silencio.

Para eliminar un recipiente y su volumen:

docker rm -v container_name

Conclusión

Esta guía cubre algunos de los comandos más comunes que se usan para eliminar imágenes, contenedores y volúmenes con Docker. Hay muchas otras combinaciones y banderas que se pueden usar con cada uno. Para obtener una guía completa de lo que está disponible, consulte la documentación de Docker docker system prune docker rmi, docker rm y docker volume rm.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.