Comment utiliser la commande docker plugin upgrade pour mettre à niveau un plugin

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à gérer les plugins Docker, en particulier le processus de mise à niveau. Vous commencerez par installer et utiliser un plugin Docker pour comprendre sa fonctionnalité de base et la manière dont il s'intègre à Docker.

Après la configuration initiale, vous apprendrez les étapes nécessaires pour préparer un plugin à la mise à niveau, ce qui implique de le désactiver. Enfin, vous effectuerez la mise à niveau en utilisant la commande docker plugin upgrade, puis vous réactiverez et vérifierez le plugin mis à niveau pour vous assurer qu'il fonctionne correctement. Ce laboratoire offre une expérience pratique de la gestion du cycle de vie des plugins Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555196{{"Comment utiliser la commande docker plugin upgrade pour mettre à niveau un plugin"}} docker/inspect -.-> lab-555196{{"Comment utiliser la commande docker plugin upgrade pour mettre à niveau un plugin"}} docker/volume -.-> lab-555196{{"Comment utiliser la commande docker plugin upgrade pour mettre à niveau un plugin"}} end

Installer et utiliser un plugin Docker

Dans cette étape, vous apprendrez à installer et utiliser un plugin Docker. Les plugins Docker étendent les fonctionnalités de Docker. Ils peuvent fournir des fonctionnalités telles que la gestion des volumes, les pilotes réseau, etc. Nous allons installer un simple plugin de volume appelé rexray/s3fs qui permet de stocker les volumes Docker sur Amazon S3. Bien que nous n'allons pas configurer un backend S3 complet, l'installation du plugin illustre le processus.

Tout d'abord, installons le plugin. Vous pouvez installer un plugin Docker en utilisant la commande docker plugin install.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Cette commande installe le plugin rexray/s3fs et lui accorde toutes les autorisations nécessaires. Le flag --grant-all-permissions est utilisé ici pour simplifier dans cet environnement de laboratoire. Dans un environnement de production, vous devriez examiner attentivement et accorder uniquement les autorisations nécessaires.

Vous serez invité à confirmer l'installation et les autorisations. Tapez y puis appuyez sur Entrée.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

Après avoir confirmé, Docker téléchargera et installera le plugin. Cela peut prendre un moment en fonction de votre connexion réseau.

Une fois l'installation terminée, vous pouvez vérifier que le plugin est installé et activé en utilisant la commande docker plugin ls.

sudo docker plugin ls

Vous devriez voir rexray/s3fs répertorié avec le statut ENABLED défini sur true.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

Maintenant que le plugin est installé et activé, vous pouvez l'utiliser pour créer un volume. Bien que nous ne puissions pas utiliser pleinement les fonctionnalités S3 sans configurer les identifiants S3, nous pouvons toujours créer un volume en utilisant le pilote du plugin.

sudo docker volume create --driver rexray/s3fs my-s3-volume

Cette commande tente de créer un volume nommé my-s3-volume en utilisant le pilote rexray/s3fs. Étant donné que nous n'avons pas configuré S3, cette commande peut afficher un avertissement ou une erreur liée à la connectivité S3, mais l'objet de volume lui-même sera créé par Docker.

Vous pouvez lister les volumes pour voir le volume nouvellement créé.

sudo docker volume ls

Vous devriez voir my-s3-volume répertorié avec le DRIVER comme rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume

Enfin, vous pouvez inspecter le volume pour voir plus de détails à son sujet.

sudo docker volume inspect my-s3-volume

Cette commande affichera un objet JSON contenant des informations sur le my-s3-volume, y compris son pilote.

Désactiver le plugin avant la mise à niveau

Dans cette étape, vous apprendrez à désactiver un plugin Docker. Avant de mettre à niveau un plugin Docker, il est recommandé de le désactiver d'abord. Cela garantit que le plugin n'est pas utilisé activement par aucun conteneur ou service pendant le processus de mise à niveau, évitant ainsi les problèmes potentiels.

Vous pouvez désactiver un plugin Docker en utilisant la commande docker plugin disable.

sudo docker plugin disable rexray/s3fs

Cette commande désactive le plugin rexray/s3fs. Si le plugin est actuellement utilisé par des conteneurs en cours d'exécution, Docker vous empêchera de le désactiver et affichera un message d'erreur. Dans notre cas, le plugin n'est pas utilisé activement par un conteneur en cours d'exécution, il devrait donc être désactivé avec succès.

Après avoir désactivé le plugin, vous pouvez vérifier son statut en utilisant la commande docker plugin ls.

sudo docker plugin ls

Vous devriez maintenant voir rexray/s3fs répertorié avec le statut ENABLED défini sur false.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

La désactivation du plugin le rend inactif, mais il est toujours installé sur votre système. Cet état est nécessaire avant de procéder à une mise à niveau ou à la suppression du plugin.

Mettre à niveau le plugin Docker

Dans cette étape, vous apprendrez à mettre à niveau un plugin Docker. La mise à niveau d'un plugin consiste à installer une version plus récente du plugin. Étant donné que nous avons déjà désactivé le plugin à l'étape précédente, nous pouvons procéder à la mise à niveau.

Pour mettre à niveau un plugin Docker, vous utilisez à nouveau la commande docker plugin install, en spécifiant le nom du plugin et éventuellement une nouvelle étiquette (tag) si vous souhaitez une version spécifique. Si vous ne spécifiez pas d'étiquette, Docker téléchargera la version la plus récente. Nous utiliserons le même nom de plugin, et Docker gérera le processus de mise à niveau.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Cette commande tentera d'installer à nouveau le plugin rexray/s3fs. Étant donné qu'une version est déjà installée, Docker reconnaîtra cela comme une tentative de mise à niveau. Vous serez invité à confirmer la mise à niveau et les autorisations, de la même manière que lors de l'installation initiale.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

Tapez y puis appuyez sur Entrée pour procéder à la mise à niveau. Docker téléchargera la nouvelle version du plugin et remplacera celle existante.

Une fois la mise à niveau terminée, le plugin restera dans un état désactivé. Vous pouvez vérifier cela en utilisant la commande docker plugin ls.

sudo docker plugin ls

Vous devriez toujours voir rexray/s3fs répertorié avec le statut ENABLED défini sur false. L'ID peut avoir changé, indiquant qu'une nouvelle version a été installée.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

La mise à niveau du plugin remplace les fichiers exécutables et de configuration du plugin par la nouvelle version. Il est important de réactiver le plugin après la mise à niveau pour le rendre disponible pour utilisation.

Réactiver et vérifier le plugin mis à niveau

Dans cette étape, vous allez réactiver le plugin Docker mis à niveau et vérifier qu'il fonctionne correctement. Après avoir mis à niveau un plugin, il reste dans un état désactivé. Vous devez l'activer explicitement pour le rendre disponible pour Docker.

Vous pouvez activer un plugin Docker en utilisant la commande docker plugin enable.

sudo docker plugin enable rexray/s3fs

Cette commande active le plugin rexray/s3fs. Si le plugin démarre avec succès, la commande se terminera sans afficher de sortie. En cas de problèmes lors du démarrage du plugin, vous pourriez voir un message d'erreur.

Après avoir activé le plugin, vous pouvez vérifier son statut en utilisant la commande docker plugin ls.

sudo docker plugin ls

Vous devriez maintenant voir rexray/s3fs répertorié avec le statut ENABLED rétabli à true.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

Pour vérifier plus en détail que le plugin mis à niveau fonctionne, vous pouvez essayer de créer un autre volume en utilisant le pilote (driver) du plugin.

sudo docker volume create --driver rexray/s3fs my-s3-volume-2

Cette commande crée un nouveau volume nommé my-s3-volume-2 en utilisant le pilote rexray/s3fs. Si le plugin fonctionne correctement, cette commande devrait réussir (bien que, comme précédemment, elle puisse afficher des avertissements liés à la connectivité S3 si elle n'est pas configurée).

Vous pouvez répertorier les volumes à nouveau pour voir le nouveau volume.

sudo docker volume ls

Vous devriez maintenant voir à la fois my-s3-volume et my-s3-volume-2 répertoriés avec le DRIVER rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume
rexray/s3fs         my-s3-volume-2

Cela confirme que le plugin mis à niveau est activé et peut être utilisé pour créer des volumes.

Résumé

Dans ce laboratoire (lab), vous avez appris à installer et à utiliser un plugin Docker. Plus précisément, vous avez installé le plugin de volume rexray/s3fs en utilisant la commande docker plugin install, en accordant les autorisations nécessaires. Vous avez ensuite vérifié l'installation réussie et l'état d'activation du plugin en utilisant docker plugin ls.

Après l'installation, vous avez appris l'étape cruciale de désactiver le plugin en utilisant docker plugin disable avant de procéder à une mise à niveau. Vous avez ensuite effectué la mise à niveau du plugin en utilisant la commande docker plugin upgrade, en spécifiant la nouvelle version. Enfin, vous avez réactivé le plugin mis à niveau avec docker plugin enable et vérifié son statut et sa fonctionnalité, confirmant le processus de mise à niveau réussi.