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

docker volume create

DescripciónCrea un volumen
Usodocker volume create [OPTIONS] [VOLUME]

Descripción

Crea un nuevo volumen que los contenedores pueden consumir y utilizar para almacenar datos. Si no se especifica un nombre, Docker genera un nombre aleatorio.

Opciones

OpciónPredeterminadoDescripción
--availabilityactiveAPI 1.42+ Swarm Disponibilidad del volumen del clúster (active, pause, drain)
-d, --driverlocalEspecifica el nombre del controlador del volumen
--groupAPI 1.42+ Swarm Grupo del volumen del clúster (volúmenes de clúster)
--labelEstablece metadatos para un volumen
--limit-bytesAPI 1.42+ Swarm Tamaño mínimo del volumen del clúster en bytes
-o, --optEstablece opciones específicas del controlador
--required-bytesAPI 1.42+ Swarm Tamaño máximo del volumen del clúster en bytes
--scopesingleAPI 1.42+ Swarm Alcance de acceso del volumen del clúster (single, multi)
--secretAPI 1.42+ Swarm Secretos del volumen del clúster
--sharingnoneAPI 1.42+ Swarm Uso compartido de acceso al volumen del clúster (none, readonly, onewriter, all)
--topology-preferredAPI 1.42+ Swarm Topología en la que se preferiría el volumen del clúster
--topology-requiredAPI 1.42+ Swarm Topología desde la que debe ser accesible el volumen del clúster
--typeblockAPI 1.42+ Swarm Tipo de acceso del volumen del clúster (mount, block)

Ejemplos

Crea un volumen y luego configura el contenedor para usarlo:

$ docker volume create hello

hello

$ docker run -d -v hello:/world busybox ls /world

El montaje se crea dentro del directorio /world del contenedor. Docker no admite rutas relativas para los puntos de montaje dentro del contenedor.

Múltiples contenedores pueden usar el mismo volumen. Esto es útil si dos contenedores necesitan acceder a datos compartidos; por ejemplo, si un contenedor escribe y el otro lee los datos.

Los nombres de los volúmenes deben ser únicos entre los controladores. Esto significa que no puedes usar el mismo nombre de volumen con dos controladores diferentes. Intentar crear dos volúmenes con el mismo nombre produce un error:

A volume named  "hello"  already exists with the "some-other" driver. Choose a different volume name.

Si especificas un nombre de volumen que ya está en uso en el controlador actual, Docker asume que deseas reutilizar el volumen existente y no devuelve ningún error.

Opciones específicas del controlador (-o, --opt)

Algunos controladores de volumen pueden aceptar opciones para personalizar la creación del volumen. Utiliza las opciones -o o --opt para pasar las opciones al controlador:

$ docker volume create --driver fake \
    --opt tardis=blue \
    --opt timey=wimey \
    foo

Estas opciones se pasan directamente al controlador de volumen. Las opciones para diferentes controladores de volumen pueden realizar diferentes acciones (o ninguna en absoluto).

El controlador local integrado no acepta opciones en Windows. En Linux y con Docker Desktop, el controlador local acepta opciones similares al comando mount de Linux. Puedes proporcionar múltiples opciones pasando la opción --opt varias veces. Algunas opciones de mount (como la opción o) pueden tomar una lista de opciones separadas por comas. Se puede encontrar la lista completa de opciones de montaje disponibles aquí.

Por ejemplo, el siguiente comando crea un volumen tmpfs llamado foo con un tamaño de 100 megabytes y un uid de 1000.

$ docker volume create --driver local \
    --opt type=tmpfs \
    --opt device=tmpfs \
    --opt o=size=100m,uid=1000 \
    foo

Otro ejemplo que utiliza btrfs:

$ docker volume create --driver local \
    --opt type=btrfs \
    --opt device=/dev/sda2 \
    foo

Otro ejemplo que utiliza nfs para montar /path/to/dir en modo rw desde 192.168.1.1:

$ docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.1.1,rw \
    --opt device=:/path/to/dir \
    foo