Búsqueda de sitios web

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 aplicaciones e infraestructura. Está siendo ampliamente adoptado por empresas de TI y de nube para crear, implementar y ejecutar aplicaciones fácilmente.

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

Ya hemos cubierto una serie sobre Docker, que explica cómo instalar Docker, ejecutar aplicaciones en contenedores y crear 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 Docker mediante la herramienta de línea de comandos de Docker 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

Si observamos el resultado en la captura de pantalla siguiente, tenemos algunas imágenes sin etiqueta (que en su lugar muestran ), a las que se hace referencia como “imágenes colgantes”. Ya no tienen ninguna relación con ninguna imagen etiquetada; ya no son útiles y sólo consumen espacio en disco.

Puede eliminar una o más imágenes de Docker antiguas o no utilizadas utilizando el ID de la imagen, por ejemplo (donde d65c4d6a3580 es el ID de la 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 el indicador de filtro -f como se muestra.

docker images -f dangling=true	

Para eliminar todas las imágenes colgantes, lo que le permitirá recuperar espacio desperdiciado en el disco, utilice 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 Docker

Puede comenzar enumerando todos los contenedores acoplables 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 utilizando 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 eliminarlo 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á un < señalSIGKILL como se muestra.

docker rm -f 0fd99ee0cb61

También puedes eliminar contenedores usando filtros. Por ejemplo, para eliminar todos los contenedores salidos, utilice 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 Docker en su sistema con el comando de administración de volúmenes 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é siendo utilizado por 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, utilice 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á volúmenes de forma interactiva.

docker volume prune	

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

Puede eliminar todos los datos pendientes y sin referencia, como contenedores detenidos e 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 Docker sin el comando sudo, debe agregar un usuario al grupo de Docker, por ejemplo.

sudo usermod -a -G docker aaronkilik

Para obtener más información, consulte la página de ayuda para los comandos de administración de objetos de Docker 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 Docker mediante la herramienta de línea de comandos de Docker. Si tiene alguna pregunta o idea para compartir, utilice el formulario de comentarios a continuación para comunicarse con nosotros.