Возможно ли с Docker 1.8+ указать разные драйверы томов для разных томов в одном контейнере?
Значит, я могу использовать с одним томом драйвер по умолчанию для локального хранилища, а другой с NFS или что-то в этом роде?
За исключением монтирования хост-системы с папкой NFS.
Начиная с Докер 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
Кажется, что это действительно невозможно, но есть трюк, чтобы заставить его работать с одной командной строкой (из того же сообщения участника Docker):
docker run -d \
-v $(docker volume create --driver=flocker --name=volumename):/data \
-v $(docker volume create --driver=foobar --name=something):/somewhere \
myimage
Это невозможно, для контейнера используется только один драйвер, как описано на странице руководства 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.