
¿Es posible con Docker 1.8+ especificar diferentes controladores de volumen para diferentes volúmenes en un contenedor?
Entonces, ¿puedo usar con un volumen el controlador predeterminado para almacenamiento local y otro diferente con NFS o algo así?
Excepto montar el sistema host con una carpeta NFS.
Respuesta1
Esto es imposible, solo se usa un controlador para el contenedor como se describe en la página de manual de Docker 1.11.
--volume-driver=""
Container's volume driver. This driver creates volumes specified either from
a Dockerfile's VOLUME instruction or from the docker run -v flag.
See docker-volume-create(1) for full details.
Respuesta2
Empezando conDocker 17.05.0-ce, puede usar la --mount
opción con docker run
, lo que facilita el uso de diferentes controladores de volumen. Por ejemplo:
docker run -ti \
--mount volume-driver=convoy,src=volume-name1,target=/mnt/vol1 \
--mount volume-driver=local,src=volume-name2,target=/mnt/vol2 \
ubuntu bash
Respuesta3
De hecho, parece que no es posible, pero hay un truco para que funcione con una línea de comando (de la misma publicación de miembro de Docker) :
docker run -d \
-v $(docker volume create --driver=flocker --name=volumename):/data \
-v $(docker volume create --driver=foobar --name=something):/somewhere \
myimage