El comando oficial para eliminar todos los datos no utilizados (incluidos los volúmenes sin contenedores) será con Docker 1.13
docker system prune
Si desea limitar solo a los volúmenes, eliminando solo los volúmenes no utilizados :
docker volume prune
También tiene docker image prune
, docker container prune
etc:
Ver más en " objetos sin usar la pasa Docker ".
Consulte las confirmaciones 86de7c0 y PR 26108 .
Puedes verlo en acción en play-with-docker.com :
/ # docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1296a5e47ef3 hello-world "/hello" 7 seconds ago Exited (0) 6 seconds ago prickly_poincare
/ # docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:
1296a5e47ef3ab021458c92ad711ad03c7f19dc52f0e353f56f062201aa03a35
La forma actual (pre-docker 1.13) de administrar el volumen se introdujo con PR 14242 y el docker volume
comando , que documenta en su comentario de julio de 2015:
docker volume rm $(docker volume ls -q --filter dangling=true)
prune
comandos.dangling
filtros con anticipación si no está seguro de lo que podríadocker system prune
no parece eliminar los volúmenes locales pero losdocker volume prune
ordenaEditado en 2017: esta respuesta se dio el 16 de abril de 2016 y ahora está desactualizada y es correcta solo para la versión de Docker anterior a la 1.13, use la respuesta de @VonC, ahora está marcada como correcta
Para eliminar volúmenes no utilizados, puede usar el
volume rm
comando de docker integrado . Elrm
comando también elimina cualquier directorio/var/lib/docker/volumes
que no sea un volumen, así que asegúrese de no haber puesto nada allí que desee guardar:Comando para enumerar volúmenes, un poco más correcto que el suyo:
Limpiar:
más detalles sobre ls aquí , sobre rm aquí
fuente
--dry-run
primero la lista de volúmenes colgantes con el parámetro.--dry-run
opción.Esto es lo que me ha resultado útil: https://github.com/chadoe/docker-cleanup-volumes
Básicamente hace una limpieza de los volúmenes huérfanos / colgantes, pero incluye un
--dry-run
pero también toma nota de algunos comandos incluidos en la ventana acoplable (a los que se hace referencia en el comentario anterior)fuente
Para responder a la pregunta y tomando prestado de Marc, esto funciona:
fuente