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.
- Instale Docker y aprenda la manipulación básica de contenedores en CentOS y RHEL 7/6
- Cómo implementar y ejecutar aplicaciones en contenedores Docker en CentOS/RHEL 7/6
- Cree y configure automáticamente imágenes de Docker con Dockerfile en CentOS/RHEL 7/6
- 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.