Tenter de désactiver un plugin avec des références (optionnel)
Dans cette étape optionnelle, vous allez tenter de désactiver un plugin qui est actuellement utilisé ou dont d'autres ressources dépendent. Cela montrera comment Docker gère de telles situations.
Tout d'abord, réactivons le plugin vieux/sshfs
afin de pouvoir l'utiliser.
docker plugin enable vieux/sshfs
Maintenant, créons un volume Docker qui utilise le plugin vieux/sshfs
. Cela créera une dépendance vis-à-vis du plugin.
docker volume create --driver vieux/sshfs -o sshcmd=user@host:/path/to/dir -o IdentityFile=~/.ssh/id_rsa sshfs_volume
Remarque : Cette commande échouera probablement car vous n'avez pas configuré de serveur SSH valide et de clé SSH. C'est normal et cela a pour but de créer un volume qui tente d'utiliser le plugin, créant ainsi une référence. Vous verrez un message d'erreur indiquant que la création du volume a échoué.
Maintenant, essayons de désactiver à nouveau le plugin vieux/sshfs
tandis que le volume sshfs_volume
existe, même si la création du volume a échoué.
docker plugin disable vieux/sshfs
Vous devriez voir un message d'erreur similaire à celui-ci :
Error response from daemon: plugin vieux/sshfs is in use by volume sshfs_volume
Cette erreur se produit car Docker vous empêche de désactiver un plugin qui est actuellement référencé par d'autres ressources Docker, telles que des volumes. C'est un mécanisme de sécurité pour éviter tout comportement inattendu ou perte de données.
Pour désactiver le plugin avec succès dans ce scénario, vous devrez d'abord supprimer la ressource dépendante (le volume dans ce cas). Supprimons le volume :
docker volume rm sshfs_volume
Maintenant, vous devriez être en mesure de désactiver le plugin :
docker plugin disable vieux/sshfs
Cette fois, la commande devrait réussir sans message d'erreur.
Cette étape illustre que Docker gère les dépendances et vous empêche de désactiver des plugins qui sont activement utilisés.