Essaim Mode lui-même ne pas faire quelque chose de différent avec les volumes, il fonctionne quel que soit le volume de la commande mount que vous fournissez sur le nœud où le conteneur est en cours d'exécution. Si votre montage de volume est locale pour ce nœud, vos données seront sauvegardées localement sur ce nœud. Il n'est pas construit dans la fonctionnalité de déplacer des données entre les nœuds automatiquement.
Il y a certains logiciels de distribution basé sur les solutions de stockage de GlusterFS et Docker a appelé Infinit qui n'est pas encore GA et de développement sur qui a pris une banquette arrière à la Kubernetes l'intégration de l'EE.
Le résultat typique de est, vous avez besoin pour gérer la réplication de stockage au sein de votre application (par exemple etcd et d'autres radeau de base des algorithmes) ou vous effectuez votre monte sur un système de stockage externe (je l'espère avec son propre HA). Montage d'un système de stockage externe a deux options, de les bloquer ou de fichier de base. Bloc en fonction de stockage (par exemple, l'EBS) vient généralement avec des performances supérieures, mais est limitée à être monté sur un nœud unique. Pour cela, vous aurez généralement besoin d'un 3ème partie du volume plugin pilote pour donner à votre panneau de nœud d'accès à ce bloc de stockage. Stockage de fichier de base (par exemple EFS) a une baisse de rendement, mais il est plus portable, et peuvent être simultanément monté sur plusieurs nœuds, ce qui est utile pour un service replié.
La plus fréquente des fichiers de stockage réseau est NFS (c'est le même protocole utilisé par le système EFS). Et vous pouvez monter sans aucune 3ème partie plugin pilotes. Malheureusement nommé "local" volume plugin pilote que le panneau est livré avec de vous donner la possibilité de passer toutes les valeurs que vous voulez à la commande mount avec les options de pilote, et sans option, la valeur par défaut pour le stockage de volumes dans le menu fixe répertoire /var/lib/docker/volumes. Avec les options, vous pouvez passer à l'NFS paramètres, et il va même jusqu'à effectuer une recherche DNS sur le NFS nom d'hôte (quelque chose que vous n'avez pas avec NFS normalement). Voici un exemple des différentes façons de monter un système de fichiers NFS en utilisant le volume de pilote:
# create a reusable volume
$ docker volume create --driver local \
--opt type=nfs \
--opt o=nfsvers=4,addr=192.168.1.1,rw \
--opt device=:/path/to/dir \
foo
# or from the docker run command
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=192.168.1.1\",volume-opt=device=:/host/path \
foo
# or to create a service
$ docker service create \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,\"volume-opt=o=nfsvers=4,addr=192.168.1.1\",volume-opt=device=:/host/path \
foo
# inside a docker-compose file
...
volumes:
nfs-data:
driver: local
driver_opts:
type: nfs
o: nfsvers=4,addr=192.168.1.1,rw
device: ":/path/to/dir"
...