Una hoja de trucos Docker
Una hoja de trucos Docker
Introducción
Docker hace que sea fácil envolver sus aplicaciones y servicios en contenedores para que pueda ejecutarlos en cualquier lugar. Sin embargo, mientras trabaja con Docker, también es fácil acumular una cantidad excesiva de imágenes, contenedores y volúmenes de datos no utilizados que saturan la salida y consumen espacio en el disco.
Docker le brinda 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 disco y mantener su sistema organizado mediante la eliminación de imágenes, contenedores y volúmenes de Docker no utilizados.
Como usar esta guia:
- Esta guía está en formato de hoja de trucos con fragmentos de línea de comando autocontenidos.
- Salte a cualquier sección que sea relevante para la tarea que está tratando de completar.
La sintaxis de sustitución de comandos, utilizada en los comandos está disponible en muchos shells populares como bash, zsh y Windows Powershell.
command $(command)Purgar todas las imágenes, contenedores, volúmenes y redes no utilizadas o que cuelgan
Docker proporciona un solo comando que limpiará todos los recursos (imágenes, contenedores, volúmenes y redes) que están colgando (no asociados con un contenedor):
- docker system prune
Para eliminar adicionalmente los contenedores detenidos y todas las imágenes no utilizadas (no solo imágenes colgantes), agregue la 
-abandera al comando:
- docker system prune -a
Eliminar imágenes de Docker
Eliminar una o más imágenes específicas.
Utilice el 
docker imagescomando con la -abandera para localizar el ID de las imágenes que desea eliminar. Esto le mostrará cada imagen, incluidas las capas de imagen intermedias. Cuando haya localizado las imágenes que desea eliminar, puede pasar su ID o etiqueta a docker rmi:
Lista:
- docker images -a
Retirar:
- docker rmi Image Image
Quitar imagenes colgantes
Las imágenes de Docker consisten en múltiples capas. Las imágenes colgantes son capas que no tienen relación con ninguna imagen etiquetada. Ya no sirven un propósito y consumen espacio en disco. Se pueden ubicar agregando el indicador de filtro, 
-fcon un valor de dangling=trueal docker imagescomando. Cuando esté seguro de que desea eliminarlos, puede usar el docker images purgecomando:
Nota: Si crea una imagen sin etiquetarla, la imagen aparecerá en la lista de imágenes colgantes porque no tiene asociación con una imagen etiquetada. Puede evitar esta situación al proporcionar una etiqueta cuando construye, y puede etiquetar de forma retroactiva las imágenes con el comando de etiqueta acoplable .
Lista:
- docker images -f dangling=true
Retirar:
- docker images purge
Eliminar imágenes según un patrón
Puedes encontrar todas las imágenes que coincidan con un patrón utilizando una combinación de 
docker imagesy grep. Una vez que esté satisfecho, puede eliminarlos utilizando awkpara pasar los ID a docker rmi. Tenga en cuenta que Docker no suministra estas utilidades y no están necesariamente disponibles en todos los sistemas:
Lista:
- docker images -a |  grep "pattern"
Retirar:
- docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Eliminar todas las imagenes
Todas las imágenes de Docker en un sistema se pueden enumerar agregando 
-aal docker imagescomando. Una vez que esté seguro de que desea eliminarlos todos, puede agregar la -qmarca para pasar la ID de imagen a docker rmi:
Lista:
- docker images -a
Retirar:
- docker rmi $(docker images -a -q)
Eliminación de contenedores
Retirar uno o más contenedores específicos.
Use el 
docker pscomando con la -abandera para ubicar el nombre o ID de los contenedores que desea eliminar:
Lista:
- docker ps -a
Retirar:
- docker rm ID_or_Name ID_or_Name
Retirar un contenedor a la salida.
Si sabe que cuando esté creando un contenedor no querrá mantenerlo cerca una vez que haya terminado, puede ejecutar 
docker run --rmpara eliminarlo automáticamente cuando sale.
Ejecutar y eliminar:
- docker run --rm image_name
Retire todos los contenedores salidos
Puede localizar los contenedores utilizando 
docker ps -ay filtrarlos por su estado: creado, reiniciando, ejecutando, pausado o salido. Para revisar la lista de contenedores salidos, use la -fbandera para filtrar según el estado. Cuando haya verificado que desea eliminar esos contenedores, utilice -qpara pasar las ID al docker rmcomando.
Lista:
- docker ps -a -f status=exited
Retirar:
- docker rm $(docker ps -a -f status=exited -q)
Retire los recipientes utilizando más de un filtro
Los filtros Docker se pueden combinar repitiendo el indicador de filtro con un valor adicional. Esto da como resultado una lista de contenedores que cumplen con cualquiera de las condiciones. Por ejemplo, si desea eliminar todos los contenedores marcados como Creados (un estado que puede aparecer cuando ejecuta un contenedor con un comando no válido) o Salido , puede usar dos filtros:
Lista:
- docker ps -a -f status=exited -f status=created
Retirar:
- docker rm $(docker ps -a -f status=exited -f status=created -q)
Retirar los recipientes según un patrón.
Puedes encontrar todos los contenedores que coincidan con un patrón usando una combinación de 
docker psy grep . Cuando esté satisfecho de tener la lista que desea eliminar, puede usar awky xargsproporcionar la ID docker rmi. Tenga en cuenta que Docker no suministra estas utilidades y no está necesariamente disponible en todos los sistemas:
Lista:
- docker ps -a |  grep "pattern”
Retirar:
- docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Detener y retirar todos los contenedores.
Puede revisar los contenedores en su sistema con 
docker ps. Añadiendo la -abandera se mostrarán todos los contenedores. Cuando esté seguro de que desea eliminarlos, puede agregar el -qindicador para proporcionar las ID a los comandos docker stopy docker rm:
Lista:
- docker ps -a
Retirar:
- docker stop $(docker ps -a -q)
- docker rm $(docker ps -a -q)
Eliminando Volúmenes
Eliminar uno o más volúmenes específicos: Docker 1.9 y versiones posteriores
Utilice el 
docker volume lscomando para localizar el nombre del volumen o los nombres que desea eliminar. Luego puedes eliminar uno o más volúmenes con el docker volume rmcomando:
Lista:
- docker volume ls
Retirar:
- docker volume rm volume_name volume_name
Eliminar volúmenes colgando - Docker 1.9 y posteriores
Dado que el punto de los volúmenes debe existir independientemente de los contenedores, cuando se elimina un contenedor, un volumen no se elimina automáticamente al mismo tiempo. Cuando un volumen existe y ya no está conectado a ningún contenedor, se denomina volumen colgante. Para ubicarlos y confirmar que desea eliminarlos, puede usar el 
docker volume lscomando con un filtro para limitar los resultados a volúmenes colgantes. Cuando esté satisfecho con la lista, puede eliminarlos todos con docker volume prune:
Lista:
- docker volume ls -f dangling=true
Retirar:
- docker volume prune
Retirar un recipiente y su volumen.
Si creó un volumen sin nombre, se puede eliminar al mismo tiempo que el contenedor con la 
-vbandera. Tenga en cuenta que esto solo funciona con volúmenes sin nombre . Cuando el contenedor se elimina 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 nombrado, permanece en silencio presente.
Retirar:
- docker rm -v container_name
Conclusión
Esta guía cubre algunos de los comandos comunes utilizados para eliminar imágenes, contenedores y volúmenes con Docker. Hay muchas otras combinaciones y banderas que pueden usarse con cada una. Para una guía completa de lo que está disponible, consulte la documentación del estibador de 
docker system prune, docker rmi, docker rmy docker volume rm. Si hay tareas comunes de limpieza que le gustaría ver en la guía, pregunte o haga sugerencias en los comentarios. 
0 comentarios:
Publicar un comentario