A partire dalla versione 1.9 di Docker, è possibile utilizzare i comandi integrati di Docker per eliminare i volumi orfani, senza dover ricorrere a script personalizzati come docker-cleanup-volumes
. Il vantaggio di utilizzare i comandi integrati è che essi eliminano anche qualsiasi directory in /var/lib/docker/volumes
che non sia un volume, quindi assicurati di non avere nulla che desideri salvare in quella directory.
Elencare i volumi orfani
Per visualizzare l’elenco dei volumi orfani, esegui il seguente comando:
docker volume ls -qf dangling=true
Questo comando elenca tutti i volumi che non sono attualmente associati a nessun container.
Eliminare i volumi orfani
Per eliminare i volumi orfani, esegui il seguente comando:
docker volume rm $(docker volume ls -qf dangling=true)
Questo comando elimina tutti i volumi elencati dal comando precedente.
Gestire il caso in cui non ci siano volumi orfani
Se non ci sono volumi orfani, il comando precedente non farà nulla. Per gestire meglio questo caso, puoi utilizzare il seguente comando specifico per Linux:
docker volume ls -qf dangling=true | xargs -r docker volume rm
Questo comando utilizza xargs
per passare gli ID dei volumi orfani a docker volume rm
solo se ce ne sono effettivamente.
Conclusione
Utilizzando i comandi integrati di Docker 1.9 e versioni successive, puoi facilmente eliminare i volumi orfani senza dover ricorrere a script personalizzati. Ricorda di verificare attentamente il contenuto della directory /var/lib/docker/volumes
prima di procedere con l’eliminazione, per assicurarti di non perdere nulla di importante.