Docker plugins

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Extensions du moteur Docker (pilotes de volume, de réseau...)
Installation docker plugin install
Exemple courant vieux/sshfs — volumes montés via SSHFS
Voir aussi Docker swarm · Docker service

Les plugins Docker étendent le moteur avec des fonctionnalités qui ne font pas partie du cœur de Docker — le cas le plus courant étant les pilotes de volume (volume drivers) permettant de monter du stockage externe (SSHFS, NFS, stockage bloc de fournisseurs cloud...) directement comme volume Docker.

Pilote de volume multi-instances : exemple SSHFS

Sur un cluster Swarm, un plugin de volume doit être installé sur chaque nœud susceptible d'exécuter une tâche qui l'utilise :

docker plugin install --grant-all-permissions vieux/sshfs

Préparer côté serveur de stockage un répertoire à exposer par SSH, puis créer le volume correspondant :

docker volume create --driver vieux/sshfs \
  -o sshcmd=<UTILISATEUR>@<IP_SERVEUR_STOCKAGE>:/chemin/distant \
  -o password=<MOT_DE_PASSE> \
  sshvolume

docker volume ls

L'authentification par mot de passe en clair dans les options du volume n'est adaptée qu'à un test rapide ; en production, préférer une authentification par clé SSH ou un secret Docker (à vérifier selon le pilote utilisé).

Utilisation en mode service

Le même pilote de volume peut être référencé lors de la création d'un service, ce qui permet à toutes ses répliques — potentiellement sur des nœuds différents — de monter le même stockage distant :

docker service create \
  --replicas=3 \
  --name storage-service \
  --mount volume-driver=vieux/sshfs,source=cluster-volume,destination=/app,volume-opt=sshcmd=<UTILISATEUR>@<IP_SERVEUR_STOCKAGE>:/chemin/distant,volume-opt=password=<MOT_DE_PASSE> \
  busybox cat /app/message.txt

docker service logs storage-service

Voir aussi