Podar volumes usando filtro de rótulo
Nesta etapa final, aprenderemos como podar volumes com base em rótulos. Esta é uma maneira poderosa de remover seletivamente volumes que correspondem a critérios específicos, sem afetar outros volumes.
Primeiro, vamos criar alguns novos volumes com rótulos diferentes para termos algo para filtrar.
docker volume create --label env=dev dev_volume
docker volume create --label env=prod prod_volume
docker volume create --label type=data data_volume
Criamos três novos volumes: dev_volume com o rótulo env=dev, prod_volume com o rótulo env=prod e data_volume com o rótulo type=data.
Vamos listar os volumes para ver os recém-criados.
docker volume ls
Você deve ver dev_volume, prod_volume e data_volume na lista.
Agora, vamos podar apenas os volumes que possuem o rótulo env=dev. Podemos usar a flag --filter com a chave label.
docker volume prune --filter label=env=dev
O Docker pedirá confirmação. Digite y e pressione Enter.
A saída mostrará que dev_volume foi removido.
Vamos listar os volumes novamente para confirmar que apenas dev_volume foi removido.
docker volume ls
Você agora deve ver prod_volume e data_volume restantes.
Também podemos filtrar por rótulos que não estão presentes. Por exemplo, vamos podar volumes que não possuem o rótulo type=data.
docker volume prune --filter label!=type=data
O Docker pedirá confirmação. Digite y e pressione Enter.
A saída mostrará que prod_volume foi removido.
Vamos listar os volumes mais uma vez para ver o que sobrou.
docker volume ls
Você agora deve ver apenas data_volume restante.
Isso demonstra como você pode usar filtros de rótulo para podar seletivamente volumes com base em suas necessidades.