Come eliminare i volumi Docker orfani

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.