Eliminar volúmenes utilizando filtros de etiquetas (labels)
En este último paso, aprenderemos cómo eliminar volúmenes basados en etiquetas (labels). Esta es una forma poderosa de eliminar selectivamente volúmenes que coincidan con criterios específicos, sin afectar a otros volúmenes.
Primero, creemos un par de nuevos volúmenes con diferentes etiquetas para poder aplicar filtros.
docker volume create --label env=dev dev_volume
docker volume create --label env=prod prod_volume
docker volume create --label type=data data_volume
Hemos creado tres nuevos volúmenes: dev_volume
con la etiqueta env=dev
, prod_volume
con la etiqueta env=prod
y data_volume
con la etiqueta type=data
.
Listemos los volúmenes para ver los recién creados.
docker volume ls
Deberías ver dev_volume
, prod_volume
y data_volume
en la lista.
Ahora, eliminemos solo los volúmenes que tengan la etiqueta env=dev
. Podemos usar la bandera --filter
con la clave label
.
docker volume prune --filter label=env=dev
Docker solicitará confirmación. Escribe y
y presiona Enter.
La salida mostrará que se eliminó dev_volume
.
Listemos los volúmenes de nuevo para confirmar que solo se eliminó dev_volume
.
docker volume ls
Ahora deberías ver que quedan prod_volume
y data_volume
.
También podemos filtrar por etiquetas que no estén presentes. Por ejemplo, eliminemos los volúmenes que no tengan la etiqueta type=data
.
docker volume prune --filter label!=type=data
Docker solicitará confirmación. Escribe y
y presiona Enter.
La salida mostrará que se eliminó prod_volume
.
Listemos los volúmenes una última vez para ver qué queda.
docker volume ls
Ahora solo deberías ver que queda data_volume
.
Esto demuestra cómo se pueden usar filtros de etiquetas para eliminar selectivamente volúmenes según tus necesidades.