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

관련 정보