Docker 多个 Volume-driver

Docker 多个 Volume-driver

使用 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 会员引文来自 docker 的 github

答案2

从...开始Docker 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

相关内容