Docker driver de volume múltiplo

Docker driver de volume múltiplo

É possível com o Docker 1.8+ especificar diferentes drivers de volume para diferentes volumes em um contêiner?

Então posso usar com um volume o driver padrão para armazenamento local e outro diferente com NFS ou algo assim?

Exceto montar o sistema host com uma pasta NFS.

Responder1

Isso é impossível, apenas um driver é usado para o contêiner conforme descrito na página de manual do 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.

e de umCitação de membro do Docker no github do docker

Responder2

Começando comDocker 17.05.0-ce, você pode usar a --mountopção com docker run, o que facilita o uso de diferentes drivers de volume. Por exemplo:

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

Responder3

Parece não ser possível, mas existe um truque para fazê-lo funcionar com uma linha de comando (da mesma postagem de membro do Docker) :

docker run -d \
    -v $(docker volume create --driver=flocker --name=volumename):/data \
    -v $(docker volume create --driver=foobar --name=something):/somewhere \
    myimage

informação relacionada