miércoles, 13 de febrero de 2019

Una hoja de trucos Docker

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 imagesgrepUna vez que esté satisfecho, puede eliminarlos utilizando awkpara pasar los ID a docker rmiTenga 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 psgrep . Cuando esté satisfecho de tener la lista que desea eliminar, puede usar awkxargsproporcionar la ID docker rmiTenga 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 psAñ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 stopdocker 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 prunedocker rmidocker rmdocker volume rmSi hay tareas comunes de limpieza que le gustaría ver en la guía, pregunte o haga sugerencias en los comentarios.
Share:

0 comentarios:

Publicar un comentario