Filtrar volúmenes por estado de 'dangling'
En este paso, aprenderemos cómo filtrar los volúmenes de Docker según su estado de "dangling" (sin uso). Un volumen "dangling" es un volumen que actualmente no está adjunto a ningún contenedor. Estos volúmenes pueden consumir espacio en disco innecesariamente.
Para filtrar los volúmenes "dangling", usamos la opción --filter dangling=true.
Primero, creemos un contenedor y adjuntemos uno de nuestros volúmenes a él. Usaremos la imagen ubuntu. Si no tienes la imagen ubuntu localmente, Docker la descargará automáticamente.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
Este comando ejecuta un contenedor llamado mycontainer en modo desatendido (-d), monta myvolume en el directorio /app dentro del contenedor (-v myvolume:/app), utiliza la imagen ubuntu y mantiene el contenedor en ejecución durante una hora (sleep 3600).
Ahora, listemos todos los volúmenes nuevamente:
docker volume ls
Verás tanto myvolume como another_volume. myvolume está siendo utilizado actualmente por mycontainer. another_volume no está adjunto a ningún contenedor, por lo que es un volumen "dangling".
Ahora, filtremos los volúmenes "dangling":
docker volume ls --filter dangling=true
Deberías ver another_volume en la salida, ya que no está adjunto a ningún contenedor en ejecución.
Para ver los volúmenes que no son "dangling" (es decir, adjuntos a un contenedor), puedes usar --filter dangling=false.
docker volume ls --filter dangling=false
Esto debería mostrar myvolume.
Finalmente, detengamos y eliminemos el contenedor que creamos.
docker stop mycontainer
docker rm mycontainer
Ahora, si listas los volúmenes "dangling" nuevamente:
docker volume ls --filter dangling=true
Tanto myvolume como another_volume deberían aparecer ahora como "dangling", porque myvolume ya no está adjunto a un contenedor.