Docker множественный драйвер тома

Docker множественный драйвер тома

Возможно ли в Docker 1.8+ указать разные драйверы томов для разных томов в одном контейнере?

То есть я могу использовать с одним томом драйвер по умолчанию для локального хранилища, а с другим — с NFS или что-то в этом роде?

За исключением монтирования хост-системы с папкой NFS.

решение1

Это невозможно, для контейнера используется только один драйвер, как описано на странице руководства 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.

и изЦитата участника Docker с github Docker

решение2

Начиная сДокер 17.05.0-ce, вы можете использовать --mountопцию с docker run, что упрощает использование различных драйверов громкости. Например:

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

решение3

Кажется, это действительно невозможно, но есть трюк, позволяющий заставить это работать с помощью одной командной строки (из того же поста участника Docker) :

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

Связанный контент