[docker] 도커 컨테이너에 여러 볼륨을 마운트 하시겠습니까?

컨테이너를 사용하여 호스트의 디렉토리를 마운트 할 수 있다는 것을 알고 있습니다.

docker run -t -i -v '/on/my/host:/on/the/container' ubuntu /bin/bash

둘 이상의 호스트-컨테이너 쌍을 작성하는 방법이 있습니까? 예를 들어 쉼표로 구분 된 목록 또는 배열을 전달 하시겠습니까?



답변

여러 -v인수를 전달하십시오.

예를 들어 :

docker -v /on/my/host/1:/on/the/container/1 \
       -v /on/my/host/2:/on/the/container/2 \
       ...


답변

Docker는 이제을 사용하여 마이그레이션하는 것이 좋습니다 --mount.

여러 볼륨 마운트는 현재 Docker 설명서에 자세히 설명되어 있습니다.

보낸 사람 : https://docs.docker.com/storage/bind-mounts/

$ docker run -d \
  -it \
  --name devtest \
  --mount type=bind,source="$(pwd)"/target,target=/app \
  --mount type=bind,source="$(pwd)"/target,target=/app2,readonly,bind-propagation=rslave \
  nginx:latest

원래의 오래된 답변은 여전히 ​​작동해야합니다. 현재 가장 잘 알려진 방법으로 답변을 유지하려고합니다.


답변

명령에 -v옵션을 여러 번 사용 docker run하여 컨테이너에 여러 디렉토리를 마운트 할 수 있습니다 .

docker run -t -i \
  -v '/on/my/host/test1:/on/the/container/test1' \
  -v '/on/my/host/test2:/on/the/container/test2' \
  ubuntu /bin/bash


답변

볼륨에 대해 읽기 전용 또는 읽기 및 쓰기 전용을 가질 수 있습니다

docker -v /on/my/host/1:/on/the/container/1:ro \

docker -v /on/my/host/2:/on/the/container/2:rw \


답변

아니면 할 수 있습니다

docker run -v /var/volume1 -v /var/volume2 DATA busybox true


답변