Compartir comentarios
Las respuestas se generan en base a la documentación.

docker volume ls

DescripciónLista los volúmenes
Usodocker volume ls [OPTIONS]
Alias
docker volume list

Descripción

Lista todos los volúmenes conocidos por Docker. Puedes filtrar la salida utilizando la opción -f o --filter. Consulta la sección filtrado para obtener más información sobre las opciones de filtro disponibles.

Opciones

OpciónPredeterminadoDescripción
--clusterAPI 1.42+ Swarm Muestra únicamente los volúmenes del clúster y utiliza el formato de lista de volúmenes del clúster
-f, --filterProporciona valores de filtrado (por ejemplo, dangling=true)
--formatDa formato a la salida utilizando una plantilla personalizada:
'table': Muestra la salida en formato de tabla con encabezados de columna (predeterminado)
'table TEMPLATE': Muestra la salida en formato de tabla utilizando la plantilla de Go especificada
'json': Muestra la salida en formato JSON
'TEMPLATE': Muestra la salida utilizando la plantilla de Go especificada.
Consulta https://docs-docker.esdocu.com/go/formatting/ para obtener más información sobre cómo dar formato a la salida con plantillas
-q, --quietSolo muestra los nombres de los volúmenes

Ejemplos

Crear un volumen

$ docker volume create rosemary

rosemary

$ docker volume create tyler

tyler

$ docker volume ls

DRIVER              VOLUME NAME
local               rosemary
local               tyler

Filtrado (--filter)

El formato de la opción de filtrado (-f o --filter) es de "clave=valor". Si hay más de un filtro, pasa múltiples opciones (por ejemplo, --filter "foo=bar" --filter "bif=baz")

Los filtros admitidos actualmente son:

  • dangling (Booleano - true o false, 0 o 1)
  • driver (el nombre de un controlador de volumen)
  • label (label=<clave> o label=<clave>=<valor>)
  • name (el nombre de un volumen)

dangling

El filtro dangling busca coincidencias con todos los volúmenes que no estén referenciados por ningún contenedor.

$ docker run -d  -v tyler:/tmpwork  busybox

f86a7dd02898067079c99ceacd810149060a70528eff3754d0b0f1a93bd0af18
$ docker volume ls -f dangling=true
DRIVER              VOLUME NAME
local               rosemary

driver

El filtro driver busca coincidencias de volúmenes en función de su controlador.

El siguiente ejemplo busca coincidencias con los volúmenes que se crearon con el controlador local:

$ docker volume ls -f driver=local

DRIVER              VOLUME NAME
local               rosemary
local               tyler

label

El filtro label busca coincidencias con los volúmenes basándose únicamente en la presencia de una etiqueta (label) o de una etiqueta y un valor.

Primero, crea algunos volúmenes para ilustrar esto:

$ docker volume create the-doctor --label is-timelord=yes

the-doctor
$ docker volume create daleks --label is-timelord=no

daleks

El siguiente ejemplo de filtro busca coincidencias con los volúmenes que tienen la etiqueta is-timelord independientemente de su valor.

$ docker volume ls --filter label=is-timelord

DRIVER              VOLUME NAME
local               daleks
local               the-doctor

Como demuestra el ejemplo anterior, se devuelven tanto los volúmenes con is-timelord=yes como con is-timelord=no.

Filtrar tanto por la clave (key) como por el valor (value) de la etiqueta produce el resultado esperado:

$ docker volume ls --filter label=is-timelord=yes

DRIVER              VOLUME NAME
local               the-doctor

Especificar múltiples filtros de etiqueta produce una búsqueda "and"; se deben cumplir todas las condiciones:

$ docker volume ls --filter label=is-timelord=yes --filter label=is-timelord=no

DRIVER              VOLUME NAME

name

El filtro name busca coincidencias con todo o parte del nombre de un volumen.

El siguiente filtro busca coincidencias con todos los volúmenes con un nombre que contenga la cadena rose:

$ docker volume ls -f name=rose

DRIVER              VOLUME NAME
local               rosemary

Dar formato a la salida (--format)

La opción de formato (--format) muestra la salida de los volúmenes de manera atractiva utilizando una plantilla de Go.

A continuación se enumeran los marcadores de posición (placeholders) válidos para la plantilla de Go:

Marcador de posiciónDescripción
.NameNombre del volumen
.DriverControlador del volumen
.ScopeAlcance del volumen (local, global)
.MountpointEl punto de montaje del volumen en el host
.LabelsTodas las etiquetas asignadas al volumen
.LabelValor de una etiqueta específica para este volumen. Por ejemplo {{.Label "project.version"}}

Al usar la opción --format, el comando volume ls mostrará los datos exactamente como los declara la plantilla o, cuando se utiliza la directiva table, también incluirá los encabezados de las columnas.

El siguiente ejemplo utiliza una plantilla sin encabezados y muestra las entradas Name y Driver separadas por dos puntos (:) para todos los volúmenes:

$ docker volume ls --format "{{.Name}}: {{.Driver}}"

vol1: local
vol2: local
vol3: local

Para listar todos los volúmenes en formato JSON, utiliza la directiva json:

$ docker volume ls --format json
{"Driver":"local","Labels":"","Links":"N/A","Mountpoint":"/var/lib/docker/volumes/docker-cli-dev-cache/_data","Name":"docker-cli-dev-cache","Scope":"local","Size":"N/A"}