Limpieza de Docker

Con el paso del tiempo ejecutando Docker en desarrollo, tendemos a acumular una gran cantidad de imágenes sin usar. A veces para probar, investigar o simplemente probar cosas nuevas y divertidas. Siempre es genial ejecutar nuevo software en contenedores, ilumina nuevas posibilidades para aquellos de nosotros interesados ​​en aprender constantemente nuevas tecnologías. La desventaja es que hay una gran cantidad de preciosa memoria SSD ocupada con imágenes que rara vez se usan o que no se usan, lo peor es que apenas nos damos cuenta. Pero los chicos de Docker Inc. han hecho una gran tarea al mantener un registro de todo lo relacionado con Docker.

Saluda al systemcomando, parte de los comandos de administración de la ventana acoplable y simplemente genial. El systemcomando proporciona información desde el uso del disco hasta información de todo el sistema, ¿no es tan bueno?

Uso del disco usando el dfcomando:

$ docker system df

Devuelve algo como esto,

TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 35 6 8.332GB 7.364GB (88%) Containers 12 12 417.6MB 0B (0%) Local Volumes 67 2 2.828GB 2.828GB (100%) Build Cache 0B 0B

Observe que Reclaimableeste es el tamaño que puede recuperar, se calcula restando el tamaño de las imágenes activas del tamaño de las imágenes totales.

Eventos en tiempo real usando el eventscomando:

$ docker system events

Devuelve la lista de eventos en tiempo real del servidor, según los tipos de objetos de Docker.

Formateo de salida

--format 'Type={{.Type}} Status={{.Status}} ID={{.ID}}'

o simplemente formatee la salida como JSON

$ docker system events --format '{{json .}}'

Información de todo el sistema usando el infocomando:

Otro comando interesante para obtener toda la información relacionada con el sistema es el infocomando. Te sorprenderá ver la cantidad de información que puedes obtener.

$ docker system info

Elimine los datos no utilizados usando el prunecomando:

Ahora que tenemos toda la información que necesitamos, es hora de limpiar, pero tenga cuidado de no usar este comando medio dormido.

$ docker system prune WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue? [y/N]

Además, podemos eliminar exactamente lo que queremos, usando cualquiera de los siguientes comandos, deleitarse con sus ojos, damas y caballeros.

$ docker system prune -a --volumes $ docker image prune $ docker container prune $ docker volume prune $ docker network prune

Todos los comandos anteriores solicitarán confirmación, así que lávese la cara con agua fría o tome un trago de Espresso antes de emitir cualquiera de estos;).