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 github 的 Docker 成員引用

答案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

相關內容