250 votes

Montage de plusieurs volumes sur un conteneur docker ?

Je sais que je peux monter un répertoire de mon hôte sur mon conteneur en utilisant quelque chose comme

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

Existe-t-il un moyen de créer plus d'une paire hôte-conteneur, par exemple une liste séparée par des virgules ou un tableau ?

383voto

Charles Duffy Points 34134

Passez plusieurs fois -v arguments.

Par exemple :

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

63voto

MadJangi Points 41

Docker recommande désormais de migrer vers l'utilisation de --mount .

Les montages de volumes multiples sont également expliqués en détail dans la documentation actuelle de Docker.

De : 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

L'ancienne réponse originale devrait toujours fonctionner ; j'essaie juste de garder la réponse alignée sur la meilleure méthode connue actuellement.

34voto

Gaurav Sehgal Points 331

Vous pouvez utiliser -v plusieurs fois dans docker run pour monter plusieurs répertoires dans un conteneur :

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

10voto

senthil sivasamy Points 152

Vous pouvez avoir la lecture seule ou la lecture et l'écriture seule sur le volume.

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

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

3voto

Sous Windows : si vous deviez monter deux répertoires E:\data\dev & E:\data\dev2

Utilisez :

docker run -v E:\data\dev:c:/downloads -v E:\data\dev2 c:/downloads2 -i --publish 1111:80 -P SomeBuiltContainerName:SomeLabel

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X