Filtrar volumes por status 'dangling'
Nesta etapa, aprenderemos como filtrar volumes Docker com base em seu status "dangling" (pendente/solto). Um volume dangling é um volume que não está atualmente anexado a nenhum contêiner. Esses volumes podem consumir espaço em disco desnecessariamente.
Para filtrar por volumes dangling, usamos a flag --filter dangling=true.
Primeiro, vamos criar um contêiner e anexar um de nossos volumes a ele. Usaremos a imagem ubuntu. Se você não tiver a imagem ubuntu localmente, o Docker a puxará automaticamente.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
Este comando executa um contêiner chamado mycontainer em modo detached (-d), monta myvolume no diretório /app dentro do contêiner (-v myvolume:/app), usa a imagem ubuntu e mantém o contêiner em execução por uma hora (sleep 3600).
Agora, vamos listar todos os volumes novamente:
docker volume ls
Você verá tanto myvolume quanto another_volume. myvolume está atualmente em uso por mycontainer. another_volume não está anexado a nenhum contêiner, portanto, é um volume dangling.
Agora, vamos filtrar por volumes dangling:
docker volume ls --filter dangling=true
Você deve ver another_volume listado na saída, pois ele não está anexado a nenhum contêiner em execução.
Para ver volumes que não são dangling (ou seja, anexados a um contêiner), você pode usar --filter dangling=false.
docker volume ls --filter dangling=false
Isso deve mostrar myvolume.
Finalmente, vamos parar e remover o contêiner que criamos.
docker stop mycontainer
docker rm mycontainer
Agora, se você listar os volumes dangling novamente:
docker volume ls --filter dangling=true
Tanto myvolume quanto another_volume devem agora aparecer como dangling, porque myvolume não está mais anexado a um contêiner.