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


Docker es una plataforma de contenedores de código abierto, potente, segura, confiable y eficiente que permite una independencia realista entre las aplicaciones y la infraestructura. Está siendo ampliamente adoptado por las empresas de tecnología de la información y la nube para crear, implementar y ejecutar aplicaciones fácilmente.

Un contenedor es una tecnología de visualización de sistemas operativos, que permite empaquetar una aplicación con todo lo necesario para ejecutarla, lo que le permite ejecutarse independientemente del sistema operativo. Una imagen de contenedor es un paquete ejecutable e independiente de una aplicación que incluye todo lo necesario para ejecutarlo: código, tiempo de ejecución, herramientas del sistema y bibliotecas, así como configuraciones.

Ya hemos cubierto una serie sobre Docker, que explica cómo instalar Docker, ejecutar aplicaciones en contenedores y compilar automáticamente imágenes de Docker con dockerfile.

  1. Instale Docker y aprenda la manipulación básica de contenedores en CentOS y RHEL 7/6
  2. Cómo implementar y ejecutar aplicaciones en contenedores Docker en CentOS/RHEL 7/6
  3. Cree y configure automáticamente imágenes de Docker con Dockerfile en CentOS/RHEL 7/6
  4. Cómo configurar un servidor web Apache simple en un contenedor Docker

En este artículo, explicaremos cómo eliminar imágenes, contenedores y volúmenes de la ventana acoplable mediante la herramienta de línea de comandos de la ventana acoplable en sistemas Linux.

Cómo eliminar imágenes de Docker

Antes de eliminar cualquier imagen de la ventana acoplable, puede enumerar todas las imágenes existentes en su sistema con el comando de administración de imágenes.

$ docker image	        #list the most recently created images
OR
$ docker image -a 	#list all images

Mirando la salida en la captura de pantalla que sigue, tenemos algunas imágenes sin una etiqueta (mostrando en su lugar), estas se conocen como "imágenes colgantes". Ya no tienen ninguna relación con las imágenes etiquetadas; ya no son útiles y solo consumen espacio en disco.

Puede eliminar una o más imágenes Docker antiguas o no utilizadas utilizando el ID de imagen, por ejemplo (donde d65c4d6a3580 es el ID de imagen).

$ docker rmi d65c4d6a3580 				#remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Puede enumerar imágenes colgantes (imágenes sin etiquetar) usando la marca de filtro -f como se muestra.

$ docker images -f dangling=true	

Para eliminar todas las imágenes colgantes, lo que le permite recuperar el espacio en disco desperdiciado, use cualquiera de estos comandos.

$ docker image prune		#interactively remove dangling images
OR
$ docker rmi $(docker images -q -f dangling=true)

Para eliminar todo lo que no esté asociado con ningún contenedor, use el siguiente comando.

$ docker image prune -a 	

Cómo quitar contenedores de Docker

Puede comenzar enumerando todos los contenedores de Docker en su sistema usando el siguiente comando.

$ docker ps
OR
$ docker ps -a  

Una vez que haya identificado los contenedores que desea eliminar, puede eliminarlos usando su ID, por ejemplo.

$ docker rm 0fd99ee0cb61		#remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Si un contenedor se está ejecutando, primero puede detenerlo y quitarlo como se muestra.

$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61

También puede forzar la eliminación de un contenedor mientras se está ejecutando agregando el indicador --force o -f , esto le enviará una señal SIGKILL como se muestra.

$ docker rm -f 0fd99ee0cb61

También puede eliminar contenedores usando filtros. Por ejemplo, para eliminar todos los contenedores salidos, use este comando.

$ docker rm $(docker ps -qa --filter "status=exited")

Para detener y eliminar todos los contenedores, utilice los siguientes comandos.

$ docker stop $(docker ps -a -q)	#stop all containers
$ docker container prune		#interactively remove all stopped containers
OR
$ docker rm $(docker ps -qa)

Cómo eliminar volúmenes de Docker

Como antes, comience enumerando todos los volúmenes de la ventana acoplable en su sistema con el comando de administración de volumen como se muestra.

$ docker volume ls

Para eliminar uno o más volúmenes, utilice el siguiente comando (tenga en cuenta que no puede eliminar un volumen que esté usando un contenedor).

$ docker volume rm volume_ID 	           #remove a single volume 
$ docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Utilice el indicador -f para forzar la eliminación de uno o más volúmenes.

$ docker volume rm -f volume_ID

Para eliminar volúmenes colgantes, use el siguiente comando.

$ docker volume rm $(docker volume ls  -q --filter dangling=true)

Para eliminar todos los volúmenes locales no utilizados, ejecute el siguiente comando. Esto eliminará los volúmenes de forma interactiva.

$ docker volume prune	

Cómo eliminar imágenes, contenedores, volúmenes y redes sin usar o colgantes

Puede eliminar todos los datos colgantes y sin referencia, como contenedores detenidos, imágenes sin contenedores, con este único comando. De forma predeterminada, los volúmenes no se eliminan para evitar que se eliminen datos vitales si actualmente no hay ningún contenedor que utilice el volumen.

$ docker system prune

Para podar volúmenes, simplemente agregue el indicador --volumes al siguiente comando como se muestra.

$ docker system prune --volumes

Nota: Para ejecutar la herramienta de línea de comandos de la ventana acoplable sin el comando sudo, debe agregar un usuario al grupo de la ventana acoplable, por ejemplo.

$ sudo usermod -a -G docker aaronkilik

Para obtener más información, consulte la página de ayuda de los comandos de administración de objetos de la ventana acoplable anteriores.

$ docker help
$ docker image help   
$ docker container help   
$ docker volume help   

¡Eso es todo por ahora! En este artículo, explicamos cómo eliminar imágenes, contenedores y volúmenes de la ventana acoplable mediante la herramienta de línea de comandos de la ventana acoplable. Si tiene alguna pregunta o pensamiento que compartir, utilice el formulario de comentarios a continuación para comunicarse con nosotros.