tag run que library hub and docker mounted-volumes

run - ¿Docker huérfano montado volúmenes de host?



download docker image (3)

De la guía del usuario de Docker:

Si elimina los contenedores que montan volúmenes, incluido el contenedor dbdata inicial, o los siguientes contenedores db1 y db2, los volúmenes no se eliminarán. Para eliminar el volumen del disco, debe llamar explícitamente a docker rm -v contra el último contenedor con una referencia al volumen. Esto le permite actualizar o migrar efectivamente los volúmenes de datos entre contenedores. - source

Este es un comportamiento intencional para evitar la pérdida accidental de datos. Puede usar una herramienta como docker-cleanup-volumes para limpiar los volúmenes no utilizados.

Acabo de inspeccionar mi carpeta / var / lib / docker / volume y descubrí que está repleta de carpetas llamadas DoID UUID, cada una de las cuales contiene un archivo config.json con contenido a lo largo de las líneas de

{"ID":"UUID","Path":"/path/to/mounted/volume","IsBindMount":true,"Writable":true}

dónde

/path/to/mounted/volume

es la ruta a la carpeta en el host que se montó en un contenedor acoplable con el modificador -v en algún momento. Tengo esas carpetas desde el comienzo de mis experimentos con Docker, es decir, hace aproximadamente 3 semanas.

Los contenedores en cuestión se detuvieron y Docker se abrió hace mucho tiempo, así que no puedo ver que esas entradas no hayan pasado su fecha de caducidad. Esto plantea la pregunta: ¿es el sobrante que estoy viendo un error o es necesario descartar manualmente dichas entradas de / var / lib / docker / volume?


Para Docker 1.13+ y los números de versión ce / ee 17+, use el comando de volume prune

docker volume prune

A diferencia de la consulta dangling=true , esto no eliminará los volúmenes basados ​​en controladores "remotos".


Para Docker 1.9 y versiones posteriores hay una forma nativa:

Lista todos los volúmenes huérfanos con

$ docker volume ls -qf dangling=true

Elimínalos a todos con

$ docker volume rm $(docker volume ls -qf dangling=true)